国产数据库VastBase适配指南

背景

??目前数据库市场上,仍然是甲骨文、IBM为代表的国外数据库软件处于主导地位,国产化的数据库的使用率,与推广面很有限。相对于主流数据库而言,国产数据库的优势并不明显,还有相当远的距离。那么我们为什么要用国产数据库呢为数据安全。相对于其它新特性而言,安全尤为重要。数据一旦泄露,对个人而言是侵犯隐私。对企业而言是商业秘密,会导致经济损失。对国家机关而言是机密,会带来国家安全上的危害。毕竟谁也不想,自己的系统正常的运行中,突然就尝到了大洋彼岸自由的子弹。所以在金融军工电信能源医疗交通等关键行业领域,以及国企政府国产数据库的使用概率很高,而当客户有相当部分的国企与政府单位时,适配国产数据库是势在必行的事情。
??今天要分享的国产数据库为Vastbase G100,分享从Mysql到Vastbase的数据切换经验,以及如何解决一些开发中的实际问题注意事项等。

Vastbase介绍

??Vastbase G100(以下简称Vastbase)是海量数据基于openGauss内核研发的企业级关系型数据库。产品从架构到引擎等多维度均进行了大范围深度优化,兼具极致性能与高兼容高可用高安全多引擎高并发等多种特性,给用户提供更高级别的产品质量保障和运行支撑,是各行业用户数据库国产化的优选方案。更多信息:Vastbase官 Vastbase 官方文档
??那openGauss又是什么呢penGauss是华为开源高性能高安全高可靠的企业级关系型数据库。是基于PostgreSQL 9.2版本开发的,基本包括了PostgreSQL 9.4的新功能。同时,openGauss也是一个开源、免费的数据库平台。更多信息:openGaussopenGauss仓库
??那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进行处理,非常感谢!

上一篇 2022年10月15日
下一篇 2022年10月15日

相关推荐