暂无图片
暂无图片
6
暂无图片
暂无图片
暂无图片

国产数据库选型分析与建议

原创 Ray 2022-12-05
8201


时代背景

处于这个时代的我们,似乎每天都在验证历史上曾经发生的事情,就拿当前还未结束的俄乌战争来说,其引发的连锁反应——世界上最大的数据库厂商Oracle停止俄罗斯的数据库销售与服务,无疑是给我们这些从事数据库相关行业人员敲响了警钟,毕竟Oracle的市场份额在国内也是独一无二的。甚至这些年“OLAP界”的黑马——Clickhouse数据库,已经官宣是美国公司,撇清与俄罗斯的关系(官宣链接https://clickhouse.com/blog/we-stand-with-ukraine/),要知道了解Clickhouse的小伙伴一听到Clickhouse数据库首先想到的是Clickhouse来自最大的俄语搜索引擎公司——Yandex,其强悍的性能,代码的风格无不彰显着俄罗斯的风格。

分析维度

上述这些事实,无不推动着我们对于国产数据库的探索与研究,毕竟谁也不希望自己的核心系统数据库有一天会被“卡脖子”,然而数据库其自身的属性与地位意味着换一款数据库几乎等于换了一整套技术栈,其安全性、可用性、高性能、商业成本和生态成熟度都是必须充分考虑的维度,尤其生态成熟度至关重要,事关更换成国产数据库是否可以实际落地。要知道Oracle为什么可以几十年统治着数据库市场,归根结底其生态已经达到了近乎完美的状态,而这里面不单是产品的高质量水平,更是长年累月的海量客户使用案例与反馈改进积累。

我本身从事数据库管理工作,从我的角度出发,当下对于更换成国产数据库很重要的两点就是与原数据库兼容度与商业成本,毕竟与原数据库越兼容就意味着可以减少很多改造成本,就意味着可以缩短项目工期,就意味着可以保证产品质量,而商业成本的高低也是衡量一个企业是否可以实际落地的关键维度。毕竟Oracle公司的社区版MySQL数据库(遵循一定的免费开源协议)占据着绝大部分不考虑商业数据库的市场,在众多中小型企业中被大量使用。

详细分析

国产数据库流行度排行榜

下图为2021年11月的国产数据库流行度排行榜的前15名,数据来源于https://www.modb.pro/dbRank

图形用户界面, 应用程序

描述已自动生成

全球数据库流行度排行榜

下图为2021年12月的全球数据库流行度排行榜前15名,数据来源于https://db-engines.com/en/ranking

图形用户界面, 文本, 应用程序, 电子邮件

描述已自动生成

注:国产数据库只有TIDB被统计在全球数据库流行度排行榜(97名),故附上。

从上图可得知对于老牌传统商业关系型数据库:Oracle、Microsoft SQL Server和IBM Db2依然占据着榜位前排,尤其Oracle处于无可撼动的第1位,而近20年内新兴开源关系型数据库MySQL和PostgreSQL也牢牢地占据着榜2和榜4。也可以理解成国内大部分传统软件行业依然使用的是商业关系型数据库,国内大部分互联网行业使用的是开源关系型数据库。所以如果想更换成国产数据库,达到去“O”的目的,首先考虑的是否兼容“O”或者是否免费。

国产数据库兼容阵营

只针对国产数据库流行度排行榜的前15款数据库。

3.1兼容Oracle阵营

  1. 达梦:以Oracle、DB2数据库为代表的数据库软件产品;
  2. OceanBase:高度兼容支持Oracle数据库;
  3. KingBase:兼容Oracle 97%的语法
  4. TDSQL:Oracle兼容性达95%以上;
  5. PolarDB:高度兼容Oracle语法;
  6. AnalyticDB:Oracle应用迁移成本低;
  7. GoldenDB:兼容Oracle常见语法。

3.2兼容MySQL阵营

  1. TiDB:兼容 MySQL 5.7 协议和 MySQL 生态;
  2. OceanBase:高度兼容支持MySQL数据库;
  3. GaussDB:基于MySQL生态的分布式数据库GaussDB(for MySQL),100%兼容MySQL;
  4. TDSQL:100%兼容MySQL;
  5. PolarDB:兼容MySQL数据库引擎;
  6. AnalyticDB:高度兼容MySQL;
  7. GoldenDB:兼容MySQL语法;
  8. SequoiaDB:支持 MySQL关系型数据库实例。

3.3兼容PostgreSQL阵营

  1. openGauss:兼容PSQL客户端,兼容PostgreSQL标准接口;
  2. GaussDB:基于openGauss生态的分布式数据库GaussDB(for openGauss)
  3. TDSQL:100%兼容PostgreSQL;
  4. PolarDB:兼容PostgreSQL数据库引擎;
  5. AnalyticDB:高度兼容PostgreSQL;
  6. SequoiaDB:支持 PostgreSQL 关系型数据库实例。

3.4兼容IBM Informix阵营

  1. Gbase:GBase 8t是基于IBM informix源代码、编译和测试体系自主研发的交易型数据库产品。

3.5自成一体

  1. EsgynDB:易鲸捷可以从甲骨文数据库平滑迁移。与普遍基于开源的MySQL或PostgreSQL来开发的国产数据库最大的不同是,Trafodion开源技术完全由易鲸捷团队自主研发;
  2. ShenTong:神通数据库管理系统是神舟软件拥有自主知识产权的大型通用关系数据库管理系统软件。

3.6兼容阵营占比

从上图可以获悉到国产数据库兼容开源关系型数据库的占比在大多数,兼容商业关系型数据库也可以占到近3成,从国产厂商的白皮书说明来看,大部分满足了兼容的需求

国产数据库商业成本

国产数据库商业成本无需单独细划分出来,因为只有TIDB、GaussDB、OceanBase包含开源版本,而且只有OceanBase兼容Oracle,这在针对一些中小公司更换成国产数据库的成本上无疑是一个门槛。

总结与建议

综上所述,考虑到兼容度和商业成本,如果选择替换掉Oracle,而又可以承担商业成本的,那么达梦或者OceanBase是一个不错的选择;选择替换掉MySQL,那么TIDB或者GaussDB是一个不错的选择;选择替换掉PostgreSQL,那么GaussDB是一个不错的选择。而这些选择也仅仅是结合他人理论数据做出来的一个初步选型,数据库作为一个企业最核心资产——数据的承载容器,其必须要结合企业自身的业务特性进行全方位充分的验证,方可作为最终的国产数据库选型。

从整体来看,国产数据库的统治力与Oracle、Microsoft等厂商还有不少的差距,尤其在开源运营模式下的发展道路。开源其实并不等于无营收,开源与商业其实是一个相辅相成的过程,要知道开源的MySQL最初并不属于Oracle,Oracle将其间接收购后,MySQL吸收了大量来自Oracle厂商的改进,产品质量提升后进一步提升了MySQL的市场占有率,同时Oracle厂商在这过程中也实现了价值变现,比如MySQL企业版以出售技术服务的方式获得营收,最终使得Oracle无论在商业路线还是开源路线都有着自己的统治地位。

对于数据库这样复杂的产品,我们需要一种工匠精神打磨其开源产品,不断提升其产品社区活跃度,让更多的人参与进来推动其发展。在商业化方面,能把售后服务变成促进产品成长的生产力,我相信会有更多的客户会选择国产数据库。国产数据库的今天就如同新能源汽车的今天,期待有一天可以实现弯道超车。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论