OceanBase缩容时数据如何迁移?

OceanBase缩容时数据如何迁移?

2 个赞

在 OceanBase 的分布式架构下,缩容操作对业务是平滑且透明的,其数据迁移过程主要依赖于系统自动触发的 Rebalance(数据均衡)机制。具体的迁移逻辑和步骤如下:

1. 缩减租户资源池(触发数据迁移)
缩容的核心前提是调整租户的资源单元(Unit)数量。当执行 ALTER RESOURCE POOL <pool_name> UNIT_NUM = <smaller_number>; 命令缩减资源池中的 Unit 个数时,OceanBase 会自动启动 Rebalance 过程。系统会将准备下线机器上的数据,自动且在线地复制到同 Zone 内其他可用机器的 Unit 上。

2. 服务切换与旧数据清理
随着 Rebalance 的进行,每个分区的数据被复制到新的目标 Unit 并追平后,OceanBase 会自动将业务服务切换到新的 Unit 上。切换完成后,系统会自动删除被下线机器 Unit 中该分区上的旧数据,从而释放存储空间。

3. 物理机器下线
当待下线服务器上的所有数据都成功迁移到其他服务器,且该服务器上不再包含任何业务数据后,DBA 可以执行 ALTER SYSTEM DELETE SERVER 命令正式将该服务器从集群中删除。需要注意的是,DELETE SERVER 命令必须等待所有数据迁移完成才能成功执行,因此如果数据量较大,该命令的执行时间可能会比较长。

1 个赞

学到了

1 个赞

涨知识了