上游使用 pt-osc/gh-ost 工具的持续同步场景
在使用 DM 完成 MySQL 到 TiDB 的数据迁移时,可以开启配置,实现 DM 工具与 gh-ost 或 pt-osc 的协同。
具体迁移操作可参考已有数据迁移场景:
当开启特性后,DM 同步 gh-ost 或 pt-osc 工具所产生的 DDL 语句将会发生一些变化:
上游 gh-ost 或 pt-osc 工具工作流如下:
- 根据 DDL 目标表 (real table) 的表结构新建一张镜像表 (ghost table);
- 在镜像表上应用变更 DDL;
- 将 DDL 目标表的数据同步到镜像表;
- 在目标表与镜像表数据一致后,通过 RENAME 语句使镜像表替换掉目标表。
- 不在下游新建镜像表 (ghost table);
- 记录变更 DDL;
- 在下游执行 DDL 变更。
这些变化将带来一些好处:
- 下游 TiDB 无需创建和同步镜像表,节约相应存储空间和网络传输等开销;
- 在分库分表合并场景下,自动忽略各分表镜像表的 RENAME 操作,保证同步正确性。