PolarDB在CN里创建了一个库,在DN里生成了若干了以此表名为后缀的若干个子表是什么原理呢?[阿里云PolarDB]

PolarDB在CN里创建了一个库,在DN里生成了若干了以此表名为后缀的若干个子表是什么原理呢?

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
1 条回复 A 作者 M 管理员
  1. PolarDB-X 2.0 采用的是可水平扩展的 Share-Nothing 架构,系统基本组成单位是节点(即 Node),每个节点又可分为计算节点(即CN)和数据节点(即DN)两个部分。为提供全局 Binlog 能力,PolarDB-X 2.0 在此基础上增加了 CDC 组件,CDC 是一个具备弹性能力的集群。

    全局 Binlog 的生成过程可分为三个阶段:

    CDC 组件从每个 DN 拉取其增量日志,也就是物理 Binlog,之后进行单队列排序、内部事件过滤、DDL 相关的整形等操作,以便为下一阶段提供一个“干净”的增量事件队列,同时若系统发生了扩缩容,CDC 组件会在该阶段自动感知并做相关处理;

    CDC 组件将所有“干净”的增量事件队列进行合并,期间会对属于同一分布式事务的事件进行合并,并会根据事务时间戳进行全局排序,这样便得到一个全局有序的保障事务完整性的事件队列,同时该阶段还会处理好 DDL 在队列中的位置。之后 CDC 组件会将该队列生成兼容 MySQL Binlog 格式的文件,即全局 Binlog 文件;

    CN 组件在收到下游订阅全局 Binlog 请求后,会按照 MySQL DUMP 协议将全局 Binlog 发送给下游消费。

    经过上面三个阶段,PolarDB-X 2.0 实现了完全兼容 MySQL Binlog 的全局 Binlog 能力。

  2. 这些是物理分库。此回答整理自微信群“阿里云 PolarDB-X开源交流2号群”