Data Migration 功能测试
作者: Haaahei 原文来源:https://tidb.net/blog/e6e2a9ab
本节主要验证 DM 从 MySQL 同步数据到 TiDB 的各场景用例。
全量迁移
增量同步
不管是全量迁移还是增量同步都可以通过设置限流参数来保证上游和目标库数据库实例的性能稳定。
其他用例
用例 1:库表改名或着分库分表聚合情况下的同步,源库的 DDL 和 DML 是否支持带库名?
结果:支持
用例 2:是否支持 ALGORITHM={DEFAULT | INPLACE | COPY}, LOCK={DEFAULT | NONE | SHARED | EXCLUSIVE}语法? 例:alter table test.test_1 modify c3 varchar(30) default null, algorithm=inplace, lock=shared;
结果:支持,不会报错,不建议使用。
说明:DM 会把原 DDL 改成 3 条语句分别执行:
1). alter table test.test_1 modify c3 varchar(30) default null;
2). alter table test.test_1 algorithm=inplace;
3). alter table test.test_1 lock=shared;
用例 3:源库 DDL 一条语句设计多个操作,DM 是否支持,如: alter table shard_2.test_4 add c4 varchar(30) default null, add c5 varchar(30) default null;
结果:支持,不管是普通同步还是分库分表聚合都支持。DM 会把原 DDL 拆成多条语句分别执行:alter table shard_2.test_4 add c4 varchar(30) default null 和 alter table shard_2.test_4 add c5 varchar(30) default null
用例 4:主从切换对 DM 同步的是否有影响?
结果:在 gtid 模式及主从 gtid 一致的情况下,无影响
数据校验
DM 本身不提供数据校验功能,可以通过 TiDB 生态中的 sync-diff-inspector 工具满足我们的数据校验需求。
版权声明: 本文为 InfoQ 作者【TiDB 社区干货传送门】的原创文章。
原文链接:【http://xie.infoq.cn/article/f4fa3e39dce7244a133e1bb22】。文章转载请联系作者。
评论