作为数据库演进方向之一,分布式能力受到更多用户的关注。从技术架构演进来看,数据库正走过了从单机式、集中式到分布式的发展过程,目前是多种架构并存的阶段。分布式架构以其更好的存储与计算扩展能力,受到更多的关注。在墨天轮社区的中国数据库流行度排行榜上,收集了国内160多家关系型数据库厂商产品。针对这些产品做个架构分类不难发现,从数量上来看,分布式与集中式架构不分伯仲,甚至分布式还稍有占优(如左下图)。如果考虑到流行度因素,按架构分类统计相应数据库的流行度分数可以发现,分布式架构优势更为明显(如右下图),这也说明了分布式数据库产品受到更多流行关注。
从上述分析来看,分布式产品正更多地受到关注,并已开始在用户场景落地。究其原因,可简单归纳为几点:
场景驱动。随着企业数字化转型深化,更多的数据被挖掘,更多的场景被发现。上述变化对数据的重要载体-数据库来说,提出了更大存储规模与更强计算要求。分布式数据库的技术特点正可以满足上述要求。此外,随着数据价值被企业更加关注,对数据可用性、数据一致性要求更高,分布式数据库也有其可发挥空间。
业务驱动。随着业务互联网化,很多企业都面临着敏态业务快速发展问题。这对于数据库提出了更高弹性要求,如何快速满足多变的业务诉求。分布式数据库通常采用的存算分离架构,可提供存储与计算资源的弹性伸缩能力,非常契合这一诉求。
技术趋势。分布式技术发展多年,在与数据库结合方面一直存在若干难点,但随着Google的三篇论文及工程化产品出现,为分布式数据库的落地奠定了理论基础。很多分布式数据库产品正是踩着巨人的肩膀,快速发展起来。
硬件发展。分布式架构因其组件拆分,天然对网络有着更高的要求。过去受限于网络技术本身,很难达到很好的效果。但随着高带宽、低延时网络技术实现突破,为分布式架构提供了良好的基础。此外,如高速存储、多核CPU等技术也助力了分布式技术在数据库领域的快速成熟。
政策引导。近年来,国家也非常重视基础软件的发展,包括针对数据库产品。相关部门曾多次出台政策,明确指出要加快分布式数据库产品的研发和应用推广。很多行业也明确提出的时间表,加速这一过程。
近年来分布式数据库产品发展迅速,并且在多类场景中广泛使用。在墨天轮榜单中,按照属性进行筛选可以发现,共收录有85款关系型分布式数据库。如下图是按使用场景进行分类统计,因部分产品支持多种场景,故进行重复统计。无论是OLTP、OLAP还是新兴的 HTAP 场景都有分布式架构产品。特别是OLAP、HTAP等领域,因其承载数据规模及算力更大,分布式产品更有优势。
从部署方式上来看,分布式架构产品多支持本地部署,同时也有部分产品支持云原生部署。从整体来看,仍然是以本地部署方式为主,云原生的部署方式占少数,但相对而言分布式更容易利用云原生提供的计算与存储能力,因此未来将更多地支持云原生部署。
从分布式数据库厂家分类来看,大体可分为以下几类:
上述几类厂商产品因其发展路线、阶段不同,各产品差异也较大。
下面就作为主流的一些关系型分布式数据库产品加以点评。
OceanBase 近年发展迅速,目前占据榜单首位。在22年底的4.0版本中,其率先提出了“单机分布式一体化”理念,降低分布式数据库使用门槛,让用户可根据业务发展平滑过渡。在23年上半年最新的4.1版本,则将“面向开发者”定位凸显,强化其在易用性、兼容性、高性能等方面能力。目前OceanBase在金融、政企、互联网等诸多行业得到广泛使用。特别是其良好的兼容能力,受到很多传统企业关注,将其作为信创改造的首选方案。
TiDB作为一款知名的开源分布式数据库产品,长期占据榜单前三名。在23年4月份,其正式发布了7.0版本。这一版本聚焦于帮助用户通过可靠性能和简化数据库操作来快速响应业务需求,从而满足客户的高期望值,并提升开发人员和 IT 运维人员的生产力。重点特性包括多租户下的资源管控增强、TiFlash数据落盘稳定分析负载、自动执行计划缓存、TiFlash支持存算分离等。在产品运营上一方面通过与合作伙伴共建加快国内落地步伐,一方面持续扩大海外运营工作。
GaussDB,是华为自研的企业级原生分布式关系型数据库,其重要是面向金融政企核心交易和企业生产系统等复杂场景。近年在传统领域建树颇多,特别是在信创改造领域,取得不少成果。从产品发展角度来看,GaussDB与榜单上另一款单机开源产品-openGauss,有着千丝万缕的关联。目前Gauss系列已形成了商用数据库、开源数据库、基于开源数据库的第三方商用数据库的复合生态模式。当然从品牌建设角度,个人建议还需进一步增强,形成品牌合力。
PolarDB,是国内最早打出云原生数据库理念,并且完成工程化实践的代表产品。从早期的存算分离架构开始支持云基础环境;到近期的Serverless架构,多层解耦拆分,提供更为精细粒度的资源管理能力。走过了云原生的1.0、2.0到如今的3.0,也成为最具代表性的云原生数据库产品。其与云原生环境的紧密结合,提供了极致的分布式能力。其产品已在云平台及私有化环境大量使用。
TDSQL,作为来自互联网应用的又一产品,早期支持腾讯社交、游戏等场景;后期商业化后大量支持如金融等关键领域客户系统。特别是近期,其刚刚通过TPC-C基准测试,并创造了新的世界纪录,在业内引发广泛关注。
GBase,作为老牌数据库厂商,很早就在分布式领域布局。无论是其面向 OLAP 领域的GBase 8a产品,还是面向交易及多模领域的 GBase 8c\8s产品,都将分布式能力作为其核心能力之一。经过多年积累,已在全球数百家客户中使用。
AnalyticDB,是阿里云的一款 OLAP 产品,也是阿里云的自研两大核心产品之一。其特点是支持超大规模、极致性能,可满足在万亿数据规模下的秒级数据分析能力,在很多涉及国计民生领域被广泛使用。其良好的兼容性,也为用户降低使用门槛。近期其与 PolarDB 联合,形成颇具竞争力的 HTAP 解决方案。
AntDB,是亚信集团的一款分布式、面向 TP 和 AP 多场景产品。早期在电信领域得到广泛实践,现已走向全行业。近期其上升势头很猛,也得到了很多关注。
GoldenDB,作为来自中兴研发的一款分布式数据库,长期以来一直比较低调。其实在金融、运营商等很多关键领域,已经得到非常广泛的使用。近期其推出的7.0版本,在 HTAP、自动化工具及云原生方向有重大进展,已成为一支不可忽视的力量。
除了上述产品外,还有些产品近年来进步很快,我们也盘点下
Doris,作为 OLAP 领域近年来一款现象级开源产品,得到广泛关注,其在墨天轮榜单上的排名半年便提升了42个位次。开源活跃度很高,版本迭代迅速。其已孵化了多款商业产品,并都取得不俗的商业进展,间接证明其产品能力突出。其生态用户广泛,覆盖很多头部互联网公司。
PieCloudDB,其墨天轮流行度排名相较2022年11月提升了139名,核心团队来自于著名的MPP数据库GreenPlum。其创造性地提出了全新eMPP分布式技术,实现云上弹性大规模并行计算。充分利用云基础实施,解决大规模数据分析的资源问题。近期其又发布基于eMPP分布式技术的存算分离软硬件一体机,完全支持国产化信创环境,标志其启动全面启动国产软硬件一体机商业化。
MatrixOne,定义为一款面向未来的超融合异构云原生数据库,其主打融合异构架构。一方面通过一份存储和一套计算引擎支持多种工作负载,一方面以统一技术架构,支持公有云、自建数据中心、边缘节点部署使用,应用乃至数据可以云上云下无缝迁移。
YaoBase,是一款自研云原生NewSQL分布式数据库,其在墨天轮榜单上排名113位,相较半年前的172位进步明显。其提出的增量聚集系统架构,在实现高并发事务处理的同时,兼顾复杂事务处理能力的可扩展性,弥补了现有NewSQL类系统处理复杂事务的短板。
CASICloud DBCP(航天天域数据库管理系统),由北京航天紫光科技自主研发,是一款是采用无共享架构的分布式交易型通用数据库系统。之前在航天领域已经有非常多的实践,可作为国产数据库信创替换的选型之一,其性能较国产传统数据库有着明显优势。
从分布式技术发展来看,有一些明确的变化趋势。
云,作为一种新的资源供给方式,在过去十几年得到了快速发展。其天然具备的海量资源快速供给,与分布式架构对资源的需求不谋而合。可以说两者的强强结合,可以更大发挥出分布式架构的威力。我们可以看到,一方面云厂商的云数据库产品大都采用分布式架构;一方面非常多的分布式数据库产品也开始云及云原生化。
无论是传统的 OLTP 和 OLAP 业务,还是新兴的 HTAP 业务。只要是对规模、算力、一致性有着更好的要求,分布式架构都可以在一定程度上解决。当然从使用场景来看,不同架构占比还有所差异。从观察来看,对于 OLAP、HTAP 场景,因其承载数据规模及算力要求更大,分布式产品更有优势。
如果说分布式产品还有什么缺陷,较高使用门槛是其中最为主要的。分布式架构天然带来的复杂性、高成本,对客户造成很大的困扰。单机分布式一体化,正是为了解决这一问题。一方面通过这一架构优化可极大降低分布式数据库的门槛,另一方面也可将扩展需求掌握在客户手中。真正做到“丰俭由人”,将分布式数据库做到了普惠大众。
分布式产品作为一种新架构产品,如何让用户快速接受?如何减低潜在的使用风险?这些都对分布式数据库提出了更高要求。构建完整、友好、活跃的生态圈,将有助于解决上述问题。一方面分布式架构的复杂性、易用性,可通过生态工具加速在企业落地,降低使用门槛和风险;一方面良好的兼容性,充分享受已有生态红利有成为很多分布式产品的发展策略之一。
虽然说分布式数据库代表着数据库重要的发展方向之一,且已经取得了不俗的表现。但在用户选择上,仍然存在着诸多痛点,这也妨碍了分布式数据库的尽快普及。这其中比较重要的有以下几点:
分布式数据库作为一种复杂架构,其组件众多且与基础环境存在较多依赖。其单点可用性往往不高,其产品正是希望其具备的分布式能力,通过整体的可用性解决单点问题,但这一过程还需要大量工程化实践积累过程。因为一旦数据库出现灾难性情况,也就意味着承载应用和业务中断。
作为一类新架构产品,其运维复杂度自身就比较高。且很多传统运维经验在新架构下将失去意义,需要结合新产品去积累完善运维体系。同时伴随着产品的成熟度发展同样需要一个过程等因素,也加大了运维难度。
分布式数据库不仅对运维侧,同时对架构、研发侧也带来新的问题。分布式架构与集中式架构不同,两者在很多方面并不兼容,需要从多方位进行改造。同时由于行业内,尚无形成统一分布式数据库设计开发标准,应用开发不得不针对不同数据库采用不同的策略,也加大的改造成本。
好的技术,还需要懂的人才能发挥最大作用。分布式数据库作为相对较新的一类产品,还没有形成较为完备的人才体系。无论是面向架构、开发、运维方面,都面临人才的短缺,且短时间内还无法快速补充。这需要有个长期的培育过程。
分布式关系型数据库作为一种新架构基础软件,满足人们对数据在更大规模、更强算力、更高可用性上的要求。通过近些年时间,其技术已展示出蓬勃的生命力,并已开始落地开花。核心的分布式理念,已成为未来数据库的发展的重点方向之一,相信在未来其将取得更大的成功,成为企业数字化转型的利器。
原文链接:https://www.modb.pro/db/636428
声明:本文为墨天轮作者韩锋原创内容,代表作者观点。如您对上述内容有意见和建议,请在下方评论区指点和交流,或点击作者墨天轮主页留言。*
相关阅读
更多精彩内容尽在墨天轮技术社区,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。