AntDB存储技术——水平动态扩展技术

数据库集群安装完成后,其数据存储容量是预先规划并确定的。随着时间的推移以及业务量的增加,数据库集群中的可用存储空间不断减少,面临数据存储容量扩充的需求。

通过增加数据节点,扩充集群数据容量,必然需要对已有数据重新分布, 即将已有数据迁移到其他数据节点。传统的分布式集群存储扩容方案中,数 据迁移时,禁止对数据进行访问,而数据迁移时间较长,从而影响了可用性。AntDB 提供的 hot expasion 扩容方案中,将原有的数据迁移分成数据同步和路由切换两个阶段。

在数据同步阶段,通过热备和流复制技术,保证新增节点增量追加源节点数据,不对表加锁,不影响数据库集群对外提供服务。当新增节点与源节点数据同步时间在秒级时,进入路由切换阶段。锁住集群,暂停集群对外服务,等到并确认源节点与新增节点数据一致后,修改访问路由,最后解锁集群,恢复集群对外服务。

通过将数据迁移划分为两个阶段,hot expasion 扩容方案将扩容对集群可用性的影响时间,从整个数据迁移阶段缩小到路由切换阶段,由于路由切换正常在 10 秒内可以完成,从而极大地减少扩容对集群可用性的影响。

hot expasion 的扩容是针对单个数据节点的扩容。假设集群中现有 DN 节点A,当节点 A 不足以容纳数据时,添加节点 B,将节点 A 中原有数据,重新分布到A 与B 两个节点,从而达到增加集群容量的目的。节点 A 成为被扩容节点, 节点 B 成为扩容节点。
如图 3-5 所示为 AntDB 水平动态扩容流程,具体为:
(1)数据同步阶段:将节点 A 数据同步到节点 B。不对节点 A 加锁,不影响对节点 A 的访问。当节点 A 与节点 B 数据同步时间在秒级时,进入路由切换阶段。
(2)路由切换阶段:锁定集群,等待并确定节点A 和节点B 数据一致后,将节点 B 加入路由表,解除集群锁。新的访问使用更新后的路由。
(3)数据清除阶段:将 A 与B 两个节点中不属于本节点的冗余数据删除。

AntDB存储技术——水平动态扩展技术_第1张图片

图 3-5 AntDB 水平动态扩容流程

hot expasion 扩容方案的核心是:通过增量数据复制,减少数据迁移对集群可用性的影响。该方案需要对原有的表定义、数据路由和数据可见性的处理进行修改,并支持合理高效的冗余数据删除。

 

你可能感兴趣的:(国产数据库,AntDB,数据库,服务器,antdb,antdb数据库)