本文介绍数据管理DMS与同样采用无触发器的gh-ost工具的优劣势对比。

DMS的无锁结构变更采用了无触发器的设计,能有效解决触发器设计带来的问题,更多关于无触发器和触发器设计的信息,请参见DDL无锁变更附录

为便于浏览和内容表达,本文的表格约定使用下述注释:

  • ✔️表示支持该功能。
  • ❌表示不支持该功能。
表 1. DMS与gh-ost工具对比
对比项 DMS无锁结构变更 gh-ost
全量拷贝阶段 拷贝限流 ✔️(手动或自动) ✔️(手动)
数据一致性校验 ✔️
异常容错 ✔️ ✔️(部分)
拷贝性能自适应 ✔️
增量回放阶段 回放限流 ✔️(手动或自动) ✔️(手动)
多线程回放 ✔️
数据一致性校验 ✔️
异常容错 ✔️ ✔️(部分)
回放性能自适应 ✔️
备库订阅 ✔️
切换表阶段 切换原子性 ✔️ ✔️
表副本延迟删除 ✔️
切换窗口设置 ✔️ ✔️
锁保护机制 ✔️
功能性 备库变更 ✔️
DTS(数据传输)无缝衔接 ✔️
变更策略设置(DDL算法识别) ✔️
RocksDB引擎 ✔️
ToKuDB引擎 ✔️
InnoDB引擎 ✔️ ✔️
虚拟列变更 ✔️
Json列变更 ✔️ ✔️
优化表空间(Optimize) ✔️
表副本延迟删除 ✔️
安装部署 ✔️(免安装) ✔️(本地安装)
白屏化运维 ✔️
执行进度可视化 ✔️