专栏名称: 阿里云开发者
阿里巴巴官方技术号,关于阿里的技术创新均将呈现于此
目录
相关文章推荐
51好读  ›  专栏  ›  阿里云开发者

登顶TPC-C!数据库分布式扩展技术揭秘

阿里云开发者  · 公众号  · 科技公司  · 2025-05-15 18:00

正文

请到「今天看啥」查看全文


image.png

图1: PolarDB MySQL版多主集群(Limitless)架构图

PolarDB MySQL版集群包含多个RW计算节点、多个RO计算节点、可选的Cache Coordinator节点组成,其底层基于分布式共享存储。每个RW节点均可读可写,并通过RDMA/CXL高速网络和Cache Coordinators通信,Cache Coordinators 负责集群元数据管理和事务信息协调,同时支持CDC功能,负责输出统一的全局Binlog。

此外,该架构支持将单一分区表的不同分区动态分布到不同RW节点上,并通过分区裁剪模块判断执行计划应该路由到哪个RW节点。因此,可支持不同分区在各RW节点并发写入,实现写能力的横向扩展,能够极大提升集群整体的并发读写性能。并且,集群还支持跨节点的分布式查询、分布式DML、分布式DDL,并通过RDMA内存融合的方式保证跨节点事务的一致性和原子性。此外,设计了全局RO节点来支持全局查询/多表联合查询/列存查询加速。

PolarDB的集群中多个RW计算节点采用对称架构,即其单个RW节点包含了传统分布式数据库的CN(协调节点)和DN(数据节点)节点的功能,不再需要客户去单独配置CN节点和DN节点的数量。对称节点的设计有显著的优势:

  • 可充分提升资源利用率,避免因在不同负载下CN/DN某一个打满而另一个闲置的资源浪费;
  • 可降低CN/DN分离带来的额外的通信成本,提升性能;
  • 计算节点采用MySQL原始的语法解析/优化/执行器带来了100%的MySQL兼容性。


(二)高性能横向跨机读写扩展

1.PolarTrans云原生事务系统

InnoDB原生事务系统是基于活跃事务列表实现的,但维护活跃事务列表需要全局大锁保护,成本开销较大,在高并发场景下容易成为整个系统的性能瓶颈点。另外,考虑到分布式事务一致性方案大多基于提交时间戳方案(TSO/TrueTime/HLC等),因此,PolarTrans通过提交时间戳技术(CTS)优化原生事务系统,核心数据结构为CTS log,由一段ring buffer组成,事务ID trx_id通过取模映射到其对应的slot,每个slot存储trx指针和cts值(事务提交时间戳)。其优化的核心思想是移除对复杂数据结构的维护,事务状态迭代、可见性判断等核心事务逻辑, 都是通过CTS log来完成,更加轻量级;同时PolarTrans将大部分的逻辑进行无锁优化,因此,PolarTrans事务系统对于读写混合场景、纯写场景都有较大的性能提升。

图2:CTS Log 结构图

2.分布式快照一致性







请到「今天看啥」查看全文


推荐文章
创意铺子  ·  谁说浴室不能性冷淡的?
8 年前
脑洞故事板  ·  愚人节 | 不就开个玩笑嘛
7 年前
刘晓博说楼市  ·  潘石屹:王石还年轻
7 年前