0
0
0
0
专栏/.../

Data Migration功能测试

 Haaahei  发表于  2022-03-24

本节主要验证DM从MySQL同步数据到TiDB的各场景用例。

全量迁移

场景 用例 支持? 限制

普通场景

源库:普通 目标库:普通

整库 √* 若为RDS,则不支持库中存在没有主键的表
指定表 √* 若为RDS,则不支持没有主键的表
库(表)更名

分库分表聚合

源库:分库分表 目标库:聚合

整库 √* 若为RDS,则不支持库中存在没有主键的表;若主键为自增,则须保证分表的主键全局唯一
指定表 √* 若为RDS,则不支持没有主键的表;若主键为自增,则须保证每个分表的主键全局唯一
库(表)更名

全量导出导入相关原理

增量同步

场景 用例 支持? 限制 说明

普通场景

源库:普通 目标库:普通

新增表

√*

TiDB限制
删除表

重命名表

新增字段

√*

TiDB限制
删除字段

修改字段

√*

TiDB限制
重命名字段
新增索引

√*

TiDB限制
删除索引

重命名索引

Gh-ost新增字段 √* TiDB限制
Gh-ost修改字段 √* TiDB限制
Gh-ost删除字段
Gh-ost新增索引 √* TiDB限制
Gh-ost删除索引
Truncate table
表及事件过滤等 DM特性
drop database

分库分表聚合

源库:分库分表 目标库:聚合

新增表 √* 分库分表DDL限制TiDB限制
删除表 × 分库分表DDL限制
重命名表 √* 分库分表DDL限制
新增字段 √* 分库分表DDL限制TiDB限制
删除字段
修改字段 √* 分库分表DDL限制、TiDB限制
重命名字段 √* 分库分表DDL限制 乐观模式下不支持,悲观模式下支持
新增索引 √* TiDB限制
删除索引
重命名索引 √* 分库分表DDL限制、TiDB限制 乐观模式下不支持,悲观模式下支持
Gh-ost新增字段 √* 分库分表DDL限制TiDB限制
Gh-ost修改字段 √* 分库分表DDL限制、TiDB限制
Gh-ost删除字段
Gh-ost新增索引 √* TiDB限制
Gh-ost删除索引
Truncate table × 分库分表DDL限制
表及事件过滤等 DM特性
Drop database × 分库分表DDL限制

不管是全量迁移还是增量同步都可以通过设置限流参数来保证上游和目标库数据库实例的性能稳定。

其他用例

用例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工具满足我们的数据校验需求。

0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论