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

从PolarDB看国产分布式数据库发展演进

数据最前线 2023-11-25
90

PolarDB 是阿里云推出的云原生数据库产品,提供MySQLPostgreSQL两种引擎,支持单机、主备以及分布式的架构PolarDB-X。由于其良好的MySQL兼容性,显著优于MySQL单机数据库的性能处理能力,较低的使用成本,受到业界的广泛关注和众多用户的好评。

在国内,阿里是比较早开始探索分布式数据库的厂商之一,PolarDB-X的发展也在一定程度上代表国内分布式数据库技术的发展,我们从PolarDB-X的发展轨迹来探究国产分布式的进化历程。

TDDL阶段

2003年淘宝网成立之初,采用经典的LAMP架构,随着用户量迅速增长,单机MySQL数据库很快便无法满足数据存储需求。随着用户量的继续快速增长,即使在之后采用了Oracle数据库也无法满足业务对数据库扩展性的诉求。

为了解决数据库的瓶颈,采用基于Sharding技术+开源MySQL的分布式架构,数据通过既定的策略插入到后端不同的数据库中,也就是我们通常所说的分库分表。在这个架构中,分库分表策略的落地是通过在应用和数据库之间部署中间件来实现的。数据插入时,分布式中间件通过设定好的规则将数据插入到对应的后端数据库,查询时也基于相同的规则路由到相应的数据库获取数据。这种架构实现起来相对简单,但是存在两个明显的缺点。一是跨库Join时需要将底层来自不同分库的数据到上层进行合并计算,性能比较差;二是在处理跨节点的分布式事务时,也涉及到多个分库的协同操作,成本非常高。

DRDS阶段

随着TDDL的不断成熟,阿里云发布了第二代产品DRDS (Distributed Relational Database Service),其本质上仍然是一个中间件,除了将后端数据库聚合成一个逻辑库,提供数据垂直拆分、水平拆分、读写分离等功能外,还具备功能比较齐全的分布式SQL查询、优化、执行引擎,提供分布式事务管理方案,等等。

分布式中间件虽然在一定程度上解决了扩展性的问题,但始终没有解决业务的耦合性问题,分库分表之前必须要规划好分区键选择。要求查询SQL带上具有业务特征的分区键,从高吞吐、高并发的角度是非常合理的事情,但对于开发人员来说成本太高。而且不同的业务类型需要用到不同的查询条件,一旦分区键规划不合理,后期的改造成本也会非常高。

PolarDB-X

鉴于分库分表中间件对于业务的侵入性,PolarDB提出了“透明分布式”的概念,并在2019年发布的PolarDB-X产品中,通过支持分布式事务、全局二级索引、异步DDL等功能特性来逐步实现这一目标。

与集中式数据库索引中的数据均来自同一个数据节点不同,分布式系统包含多个数据节点,全局二级索引上记录了表数据在所有数据节点的分布情况,因此应用查询能够通过全局索引获取到相应的数据。从实现目标上看,和分库分表中间件并没有太大的差别,但是有一个非常关键的差别。分库分表中间件是实现设定好规则,让应用来被动遵守的;而全局索引和数据的更新是同步的,数据的分布变化会实时反应到全局索引中。所以在实现了全局索引的分布式数据库中,不再需要刻意强调分区键,这是从中间件进化到分布式数据库的一个重要里程碑。

小结

通过PolarDB的演进可以看到,国产分布式数据库技术走过了一条从分布式插件到分布式中间件,再到分布式数据库的发展路线,每一次蜕变都基于上一代的积累,变得更加优秀更加实用,更能够让用户充分享受到分布式带来的优点,又尽量减少因为分布式的引入而带来的额外的工作。

传统集中式数据库经过30多年的发展,各个场景的应用已经变得非常成熟,分布式作为近些年才开始流行的架构,使用上对底层表设计和应用开发还有着诸多的要求。从分布式插件到中间件再到全新的分布式引擎, 分布式架构的易用性得到了显著的提升,未来“透明分布式”仍然是分布式数据库重要的发展方向。

写在最后

目前国内有200多种不同的国产数据库,粗看起来都差不多,或兼容MySQLOraclePG等主流的国外数据库,或采用开源的数据库作为自己的存储引擎。但仔细研究就会发现存在很大的差异,这些差异既体现在系统架构、存储引擎、分布式协议等技术层面,也体现在生态建设、市场策略等非技术层面。透过这些不同,能够感受到这家公司的企业文化,甚至是这支开发团队的精神面貌。

PolarDB团队将自己的数据库产品开源,并提供了详尽的产品文档和使用介绍,更难能可贵的是,他们将产品发展路线和设计思路也分享出来,让使用者不仅能够学习到产品的功能特性,更能够深入的了解为什么要这样做,这些“血和泪”的经验教训能让人更加收益良多。透过这些字里行间,你能够感受到这是一支充满激情的团队,他们把数据库作为一件艺术品来精心打磨。我们有理由相信未来PolarDB将会更加优秀,同时也希望能够涌现更多更加优秀的国产数据库开发团队和产品!


文章转载自数据最前线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论