上游使用 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 操作,保证同步正确性。