一、数据迁移
任务1:同时勾选 “结构初始化”+“全量数据迁移”+“增量迁移”
必须检查目标库是否存在同名数据库和同名数据表。如果目标存在同名数据库和同名数据表,数据迁移任务两项前置检查项:(1)检查目的库是否存在跟待迁移对象同名的结构对象;(2)检查目的库中表是否为空。这两项检查项不能通过,无法启动数据迁移任务。
任务2:只勾选“增量迁移”,不勾选“结构初始化”和“全量数据迁移”。
此时,不会检查目标库是否存在同名数据库和同名数据表。即使目标存在同名数据库和同名数据表,也能成功进行“数据实时增量迁移”。
二、数据同步
任务1:勾选“结构初始化”和“全量数据初始化”
必须检查目标库是否存在同名数据库和同名数据表。如果目标存在同名数据库和同名数据表,数据同步任务前置检查不通过:(1)检查目的库是否存在跟待迁移对象同名的结构对象;(2)检查目的库中表是否为空。这两项检查项不能通过,无法启动数据迁移任务。具体报错截图和上面的一模一样。
任务2:不勾选“结构初始化”和“全量数据初始化”
此时,不会检查目标库是否存在同名数据库和同名数据表。即使目标存在同名数据库和同名数据表,也能成功进行“数据实时增量同步”。
三、数据迁移和数据同步的功能差异
数据迁移任务
一旦创建好任务,就不能修改迁移任务、也不能修改迁移对象的数据库表。
数据同步任务
创建好任务,也能修改数据同步任务、也能修改同步对象的数据库表。
四、总结
1、相同点
数据迁移、数据同步,都可以做 “结构初始化”+“全量数据迁移”+“增量迁移”,两者功能差异并不明显。如果客户或者开发人员经费有限,建议优先购买DTS的 “数据同步” 功能。原因如下:
2、不同点:数据同步比数据迁移更灵活
数据迁移任务一旦创建任务,就不能修改迁移任务、也不能修改迁移对象的数据库表。数据同步任务创建任务,也能修改数据同步任务、也能修改同步对象的数据库表。
因此,数据同步支持任务修改,功能更加灵活,适用的场景更多。