2023国产数据库发展分析及趋势总结

79 阅读17分钟

信息行业需求浅析

当前中国信息业的发展现状, 从信息化层面上升到数字化层面,2023年是特殊的一年,10月25日正式建立国家数据局。国家数据局是国家发展和改革委员会管理的机构,主要职责是负责协调推进数据基础制度建设,统筹数据资源整合共享和开发利用,统筹推进数字中国、数字经济、数字社会规划和建设等。

国家数据局落实国家的数据化转型需求,目前中国已经把数字化转型定位增强国力的发展战略。区别于数据中台、互联网+、大数据建设,数据化转型是更大、更高、更深,涉及到一个行业的变化。

无论是中小企业还是大企业贴着数字化转型的标签,数据化建设,未来发展都大有可行。实际上需求下的落地,粗略分类分为信息系统建设方案、大数据系统建设方案、AI系统系统建设方案三类

信息系统建设方案: 传统的应用建设,主要是单条业务流程整合,包括企业流程制度、企业控制管理、员工权限授权访问,常说的烟囱系统建设以及企业信息系统以及ERP、CRM、OA、交易系统、分析系统都属于这个范畴,信息系统建设方案的特点主要是解决某一个业务的问题,并且充分了解清楚业务的问题,关键是数据模型上考虑设计妥当,可以满足未来发展的潜力需求。一般采用关系模型建模的方式 。

大数据系统建设方案: 该应用建设需要整合较多的数据源,将集成较多的数据集,主要与业务系统联通或者其它设备的数据汲取过来,通过清洗、整合、编排后,输出一个错落有致、规范得体的数据指标。数据大屏、业务监控管理、用户画像都属于大数据系统的建设方案范围,主要它是能整合不同的数据, 一般采用维度模型建模的方式。

智能系统建设方案: 该系统建设属于高端信息应用范畴,需要智能算法以及更有效率的计算框架,包括音视频、 边缘计算 、AI、 大模型AIGC等等,同时也包括基本的信息系统建设方案大数据系统建设方案,智能系统建设是应用优化的永无止境的追求。主要表现是提供更加友好验证手段,以及更加便利的识别方法提供相应的服务,一般智能系统会搭承其它技术手段完成客户端需求的闭环。

三种系统建设方案都需要用到数据库,数据库作为方案其中的一个关键点,联合上游软硬件以及下游应用成为一个解决方案。

国产数据库派别

自主研发定义

当前国产数据库鱼龙混杂,墨天轮注册在内的国产数据库一共有288个,大致可以分为三个流派,一个是魔改套壳派,一个是内核增强派,一个是自主研发派。 三个派别的最大差别,无非是依赖程度不同,一些是强依赖,一些是弱依赖。这里讨论一下可以代表国产数据库的自主研发派,自主研发派需要满足7个维度。

基础软件是世界的事业 数据库是基础软件,不同于一般的商品,它可以随处可得。一般商品具有地域性,如果想流通到国外,必须漂扬过海,必须通过物流海关。基础软件则是互联网可以到达的地方,它就可以自由在全球范围 内流通。

开源是高级竞争力 根据基础软件可以自由自在全球范围内流通的事实,基础软件的源代码也可以随便获得,即使你获得了,你也不能把它商业化,这就是软件高级竞争力

生态适配状况 数据库作为一个整体解决方案中的一个点,上面有操作系统、文件系统、芯片,下面有BI商业智能分析软件、ETL数据集成软件、DBAAS数据可视化软件等等。接口够不够友好,有没有自己专属 的JDBC,有没有成熟的数据对象监控管理解决方案 以及大规模的集群管理方案,产品与上下游的软件 适配、打通、连接状况。

清晰可见的研发路线 研发路线是产品的生命力,好的产品当年就可以发布第二年的Road map,未来预计会预计什么功能,哪些特性会加强。

研发实力 基础软件需要强大的研发实力,才有强大的技术支撑,有BUG可以及时修复,有需求可以及时改进,有问题可以马上反馈并得解决,主要看研发队伍以及研发投入。

可用性 主要考虑社区活跃度以技术支持力度【包括文档、说明】,工程师与产品的学习距离,有没有成熟的培训考核制度。

通用型数据库 数据库最好是通用型数据库,既能TP,也能AP,而不是专用的数据库,只能专注时间序列监控的业务,其它活不能干。这样的面就少了,应用的时候拳脚也不方便展开。

满足自主研发

满足这个7个维度条件的国产数据库,笔者实践应用并且比较熟悉的有TiDB、OceanBase、openGauss等等,下面对三个产品分析归纳一下。

基础软件是世界的事业,TIDB举办世界黑客比赛,OceanBase举办中国大学生比赛,他们都在产研发各个方面发力。三家都输出多个专利和论文,其中openGauss的专利是最多的。

开源是前提条件,三者都有开源,TiDB最早开源,OceanBase紧接其后,最后是openGauss 。TIDB是apache2.0协议,OceanBase是木兰pub协议,TIDB则是 MulanPubL-2.0宽松协议。

生态发展状况,三家都有自家研发的JDBC,都有自己监控管理解决方案,积累上下游打通的厂商。

清晰可见的研发路线,软件的迭代速度OceanBase已经是版本4,最新功能支持DBlink功能。openGauss版本是5,以后准备兼容MYSQL模式,TIDB最新版本是TiDB7.1 ,不仅完全兼容 MYSQL8,而且支持AI 资源管控功能。

研发实力,三家对数据库这个事业是认真的 ,阿里成立了子公司,TIDB获得了D轮融资,华为投入了大量内核开发。投入研发资金和研发人才,你们看看招聘。

可用性 TiDB的社区活跃度第一,做了很久了,OceanBase和openGauss。技术支持方面 三家的公司都明白企业是商业使用,用户是广泛使用的道理,也就是说商用或者企业采购有这方面的需求,技术支持非常到位。如果是你的个人学习,回应就会慢一点,不过官网社区三者都有找到资料。

通用型数据库,三个都是关系型数据库,底层都是关系代数,能够应用于所有的通用型业务场景。

3家数据库不能完全代表所有的国产数据库,笔者视角有漏网之鱼,老四厂的达梦以及腾迅的TDSQL,以及云原生数据库AnalyticDB,还有新兴势力的崖山数据库,偏科学生时序数据库TDengine以及图数据库NubulaGraph等等,他们都有不错的实力! 暂且以三家大厂为代表。

自主研发技术发展

数据库厂商都有往信息行业的需求和诉求发力,但是侧重点不同。自288个厂商注册登记后,国产数据库厂商进入到做大的阶段,下一步就是做强做精,做到产品的差异化和个性化,打造品牌的影响力。

2023年TiDB的里程碑事件,v7.1.0推出成熟的资源管控方式, TiDB 对 CPU、IO 等系统资源的统一抽象的计量单位以Request Unit (RU) ,用于表示对数据库的单个请求消耗的资源量,从而实现多租户管理。 TiDB 开源时间早,但是多租户功能直至v7.1.0才出现,虽然来得晚,却有闪亮的特色。

TiDB除了支持传统使用方式,根据当前的总CPU个数、内存池总量去规划设计租户的业务使用外,同时也具务备AIops的特性,根据当前租户的业务量实际承受负荷 ,系统自动推荐配置参数,建议最佳优化体验。省掉了DBA大量的时间,避免不必要的劳动。

这个AI功能很重要,TiDB本身通过TiKV+TiFlash的架构,满足信息系统建设方案的要求。多年的发展,发展延伸TiSpark、TiFlink,与大数据技术栈无缝集成,完成大数据系统建设方案闭环。但是在AI领域,TiDB的工程结果输出不多,虽然推出的TiDB serverless平台,让开发者简单使用,轻易上手。但是serverless毕竟是云原生的概念,离大模型和AI有点远。

TiDB的AI原理, 内置promethous,通过时序的方式收集周边集群环境【CPU、内存】的变化,再通过TiDB的统计对象输出推荐值。这个方式与openGauss的AI4DB的一样思维理念,华为对AI概念有超前的理解,openGauss3就推出AI4DB、DB4AI的概念,并且有落地的工具框架dbmind。2023年,华为发布了openGauss5版本,进一步添加了安全特性,具备安全审计、动态数据脱敏、防篡改帐本等等,诚意满满,要知道 信息系统建设方案 中有些业务系统,本身访问量不多,并发度不高,反而重视安全特性。如果真到了性能的问题,华为可以通过GaussDB的方式升级上去。

人们总是分不清openGauss与GaussDB的区别,openGauss是面向用户的广泛使用产品,而GaussDB则是面向客户的商业使用产品。华为通过免费的openGauss在高校在社会培育产品使用者,openGauss是单机数据库,更加容易方便本地部署,间接提高品牌的影响力。与其它厂商一体化数据产品的方向不同,华为是一系列产品组合成为一个解决方案,例如产品A+产品B+产品C=解决方案。

针对信息系统建设方案或者旧信息系统改造,华为可能性是方案如下

  • DataKit +openGauss + shardingShere
  • openGauss 一主一备多级联
  • Gaussdb(nosql)+openLookeng

大数据系统建设方案 ,华为可能性是方案如下

  • Gaussdb(openGauss)+openLookeng+华为hadoop
  • openGauss +openLookeng+华为hadoop
  • DoraDo+Gaussdb+openLookeng+华为hadoop

针对复杂的应用结构,华为的单一数据产品可能无法满足,业务场景需要非关系模型,华为可以增加gaussdb(nosql),业务场景需要容灾,华为可以增加DoraDo,业务场景需要跨源异构,华为可以增加openLookeng,业务场景需要数据仓库 ,华为可以增加华为hadoop。

最值得称道的是gaussdb的集成AI4DB和DB4AI能力的dbmind,不仅有助于 智能系统建设方案落地, 亦有助于信息系统建设方案大数据系统建设方案 。dbmind提供库内AI函数、实现智能查询重写、代价估计、行数估计、计划自适应选择、负载自适应调度、自学习索引、缓存自适应淘汰。

OceanBase在2023年也有很大的变化,最大的一个事件是小鱼版本发布,这意味着OceanBase可以轻量级的布署在单机的环境运行,并且拥有不俗的性能 ,极大提升了OceanBase的广泛使用能力。OceanBase的立项目的很明确,就是去O。目前大部分的金融企业旧系统或者新系统 归类不是信息系统现有环境,就是大数据系统建设方案: ,OceanBase的一体化架构有天然的优势 。

何为一体化,官方原话如下,OceanBase专注OLTP(事务处理)场景,逐步实现工程一体化、TP/AP一体化、云上云下一体化、单机分布式一体化。目前通过一个数据库、一套架构、一份数据、一个技术栈、一个引擎的方式,实现多模型、多兼容模式、多租户、多工作负载、单机分布式一体化架构、多基础设施,用一个数据库满足客户80%的数据库场景需求。

笔者技术上解读OceanBase的一体化,客户端输入时,OceanBase通过统一SQL解析,同时可以解释MySQL和Oracle规范,这意味着无论你是MySQL dba还是 Oracle dba,你都可以保留你的语法习惯。同时 OceanBase统一的存储,持久化数据先是按行组划分,再按列组划分,TP与AP都放在一块。

外面来看,OceanBase和TiDB都是匹配度较高的两款产品,两者都可以具备分布式、关系型、HTAP的重要特征,但两者的系统架构不同、网络通讯不同、存储引擎不同、计算机制不同、优化器不同

  • 系统架构: OceanBase采用去中心化架构,TiDB则采用中心化架构
  • 网络通讯: OceanBase使用paxos协议保联副本一致,TiDB使用raft协议
  • 存储引擎:OceanBase采用统一的行列并存的obkv,TiDB采用分散的Tikv+Tiflash
  • 计算机制:OceanBase的obproxy【不负责计算】返回客户端 ,TiDB则是TiDB模块【负责计算】返回客户端。
  • 优化器: OceanBase采用自下而上的System R的优化器,而TiDB则是自上面下的Cascades优化器

即使以上底层架构的5点不同,但是从DBMS的体验来看依然没有任何区别,工程师和使用人员不关心底层逻辑是怎么运行的,他们只在乎表层的功能应用。有没有更贴近应用的函数?有没有更匹配业务的存储过程?数据库作为服务端怎么友好的支撑客户端应用,OceanBase推出的dblink和外部表的功能,往信息系统建设方案深入业务场景更越进一步,dblink可以使不同的数据库之间更友好的交互,可以应用于XA事务,外部表可以使数据库当作计算引擎的分析外部的数据源【文本文件、DBMS】

未来趋势分析

我相信未来国产数据库的发展是大有作为,我们有信创和数字化转型的国家战略以及银行普惠金融、电信6G、制造业的生产自动化需求。

同样我也相信国产数据库假设碰上残酷严寒的冬天,保底先死一半,另外一半艰难求活。

前面提到了,数据库是世界的事业,信创并非单纯将国外数据库拒之门外,信创是加强版的安可,除了安全可靠,自主可控,还要实现信息应用技术创新,最终目标实现脖子问题没有依赖或者轻依赖。

站在世界的角度的看,Oracle、MySQL、Postgresql已经是一个成熟的商用产品,并且在广泛使用上已经深入人心。对工程师而言,我需要马上可以使用的东西。对企业而言,我需要一个安全可靠的东西。Oracle、MySQL、Postgresql不仅已经做到,而且行为习惯已经深入人心,扎根于文化中。

从去O来看,目前Oracle 在现有信息系统现有大数据系统建设方案没有太多毛病和问题,只是单从信创安全角度出发,所以甲方的顾虑不无道理,如果保障替换后系统一如既往一模一样,数据库除了兼容更多的新的接口、类型、系统,也需要兼容旧的系统、接口、类型,否则对甲方就是全部应用的重构, 这对甲方来说是无事生非的一场灾难。

我看某些国产数据库动不动就吊打Oracle几条街,性能提高不能说明什么,性能提高的背后是架构、可用性、成本的综合考量评衡,这里升上去,那里降下来,性能提高只能作为量化的一个小指标。

可以从应用实践的角度评估量数据库成熟度,从信息系统建设方案大数据系统建设方案智能系统建设方案的三条跑道上,数据库时刻想着,我作为了服务端如果为客户端做更多的事情?

TiDB、OceanBase、openGauss三家都有往三个跑道延伸,目前我来看,TiDB以前一直在大数据系统建设方案深耕挖掘,积淀甚深,TiKV、TiFlink、Tispark覆盖业务场景,在信息系统建设方案 ,PingCAP聘请了甲骨文公司负责innodb的Sunny Bains。智能系统建设方案, PingCAP探索了AI的资源管控。

OceanBase在信息系统建设方案发展了dblink和外部表的功能 , 大数据系统建设方案同样打通大数据生态,智能系统建设方案提供Oceanbase cloud平台。

openGauss在信息系统建设方案提高了更丰富的企业安全能力,大数据系统建设方案可以自由组合后端不同的产品,智能系统建设方案, openGauss具备库内AI函数算子和现成的工具框架。

从产品的个性化和差异化来看,我会感觉TiDB往大数据系统建设方案 能力强一点,OceanBase在信息系统建设方案的功夫做多一点,而openGauss 在智能系统建设方案提供多一点。

其它的数据库产品,自称什么都能做,这话没错!一个方案由多个组件构成,数据库只是其中一个组件,如果数据库功能不满足,可以从其它的地方出。 产品没有与时俱进,失去了它的独特性,可以轻易被替代。遇上市场寒冬,难以存活。

美国在数据库的发明创新是世界领先的,真正的遥遥领先。2021年Snowflake就如同市场黑马,赢得了资本的青睐,基于 PostgreSQL的Amazon Redshift具有三高【高可用、高性能、高安全】和三易【易运维、易伸缩、易扩展】的特点,同时Amazon Redshift已经完全不依赖PostgreSQL。2023年,老美基于数据库的定义和认识,最新又发布了DuckDB 0.9.2版本以及数据库加速器Velox,目前中国没有类似的数据库产品。

最后

数据库是长久的一份事业,数据库是一个世界的事业,2023年截至12月共288个数据库参与排名,在风云变幻的数据库市场,只有不断的研发和创新,才能提升产品竞争力。目前数据库属于做大的阶段,第二阶段要做强做精,实现产品的个性化、差异化,创造产品的独特性是致胜法宝。