背景
??目前数据库市场上,仍然是甲骨文、IBM为代表的国外数据库软件处于主导地位,国产化的数据库的使用率,与推广面很有限。相对于主流数据库而言,国产数据库的优势并不明显,还有相当远的距离。那么我们为什么要用国产数据库呢为数据安全。相对于其它新特性而言,安全尤为重要。数据一旦泄露,对个人而言是侵犯隐私。对企业而言是商业秘密,会导致经济损失。对国家机关而言是机密,会带来国家安全上的危害。毕竟谁也不想,自己的系统正常的运行中,突然就尝到了大洋彼岸自由的子弹。所以在金融、军工、电信、能源、医疗、交通等关键行业领域,以及国企和政府国产数据库的使用概率很高,而当客户有相当部分的国企与政府单位时,适配国产数据库是势在必行的事情。
??今天要分享的国产数据库为Vastbase G100,分享从Mysql到Vastbase的数据切换经验,以及如何解决一些开发中的实际问题和注意事项等。
Vastbase介绍
??Vastbase G100(以下简称Vastbase)是海量数据基于openGauss内核研发的企业级关系型数据库。产品从架构到引擎等多维度均进行了大范围深度优化,兼具极致性能与高兼容、高可用、高安全、多引擎、高并发等多种特性,给用户提供更高级别的产品质量保障和运行支撑,是各行业用户数据库国产化的优选方案。更多信息:Vastbase官 与Vastbase 官方文档。
??那openGauss又是什么呢penGauss是华为开源的高性能,高安全,高可靠的企业级关系型数据库。是基于PostgreSQL 9.2版本开发的,基本包括了PostgreSQL 9.4的新功能。同时,openGauss也是一个开源、免费的数据库平台。更多信息:openGauss与openGauss仓库。
??那PostgreSQL又是什么数据库呢最后一次套娃了)PostgreSQL 是一个免费的对象–关系数据库服务器(ORDBMS), 称 “世界上最先进的开源关系数据库” ,在灵活的BSD许可证下发行。正确的读法应该为: post-gres-Q-L,或简称为:postgres,当然也有读post-gre-S-Q-L的,emmm,看个人习惯吧,别当着老外读就行了。接下来我们看一下PostgreSQL的排名(截图于:2022.5.15),大家可以直接去 DB-Engines Ranking 查看最新的排名情况。
与Mysql的区别
事务支持
- MySQL只有innodb引擎支持事务,事务一致性保证上可根据实际需求调整。
- VastBase支持事务的强一致性,事务保证性好,完全支持ACID特性。
SQL标准支持
- MySQL只支持部分SQL标准,相比于Vastbase支持类型稍弱。
- VastBase几乎支持所有的SQL标准,支持类型相当丰富。
数据复制
- MySQL的复制是基于binlog的逻辑异步复制,无法实现同步复制。
- Vastbase可以做到同步,异步,半同步复制,以及基于日志逻辑复制,可以实现表级别的订阅和发布。
性能方面:
Vastbase:
- Vastbase在OLTP/ OLAP系统中表现良好,读写速度以及大数据分析方面表现良好。
MySQL
- MySQL是广泛选择的基于Web的项目,需要数据库只是为了简单的数据事务。但是,当遇到重负载或尝试完成复杂查询时,MySQL通常会表现不佳。
- MySQL的读取速度,在OLTP系统中表现良好。
- MySQL + InnoDB为OLTP场景提供了非常好的读/写速度。总体而言,MySQL在高并发场景下表现良好。
- MySQL是可靠的,并且与商业智能应用程序配合良好,因为商业智能应用程序通常读取很多。
数据类型
Mysql: https://dev.mysql.com/doc/refman/8.0/en/numeric-types.html
Vastbase: https://docs.vastdata.com.cn/zh/docs/VastbaseG100Ver2.2.5/doc/%E5%BC%80%E5%8F%91%E8%80%85%E6%8C%87%E5%8D%97/SQL%E5%8F%82%E8%80%83/%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B.html
可简单参考下图:
命令行常用命令
??vb_ctl 和Mysql的命令行类似,这里不再过多说明,主要讲讲常用的命令,其中 h 和 /strong> 最重要,可用于查看其它命令。
navicat介绍
??Vastbase是可以用Navicat连接与使用的,我们直接用PostgresSQL的连接方式即可
- Step1: 直接导入 postgresql 依赖
- Step2:配置数据源和驱动
迁移数据库
??这里主要介绍三种迁移数据库的方式,第一种是手动迁移数据库,第二种是用Navicat迁移,第三种是用海量数据的付费迁移工具exBase。如果对数据库性能与存储空间有严格要求,且库和数据不是很大的情况下,建议用手动迁移数据库,但这种方式工作量大,且对开发者要求更高。除此之外,我们更建议使用自动迁移的方式,自动迁移方便快捷,如果原库符合开发规范的情况下,迁移的郊果也不错,如果需要优化,也可在迁移的结果下,二次修改表结构与数据。
手动
??将原Msql数据库以SQL的形式导出,然后用文本操作工具(例如Sublime Text),按Vastbase语法进行替换操作即可。工作量太大,如果数据表不多,对性能和存储空间有严格要求的话,可以考虑。
Navicat 迁移(推荐)
?? 其实 Navicat Premium 自带就有,异库迁移数据库功能,接下来演示一下操作流程:
最后
??最后,Vastbase就介绍完了,关注我,以后给大家介绍更专业的知识点。
文章知识点与官方知识档案匹配,可进一步学习相关知识PostgreSQL技能树查询数据psql4566 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!