数据迁移功能旨在帮助用户方便、快速地实现各种数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。数据传输服务提供的数据迁移功能能够支持同/异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤多种ETL特性。

说明 数据迁移在某些场景下可实现部分数据同步的功能,但数据同步的网络稳定性更好、功能更丰富,推荐您使用数据同步功能。更多区别,请参见数据迁移和数据同步的区别是什么?

支持的数据库、迁移类型以及配置文档

请参见迁移方案概览

简单易用

您只需配置迁移的源、目标实例及迁移对象即可,DTS会自动完成整个数据迁移过程,支持业务不停服迁移。

迁移类型说明

数据迁移支持库表结构迁移全量迁移增量迁移,同时使用这三种迁移类型,可实现业务不停服迁移。

迁移类型说明
库表结构迁移

DTS将源库中待迁移对象的结构定义迁移至目标库(例如表、视图、触发器、存储过程等)。

对于异构数据库之间的结构迁移,DTS会根据源库和目标库的语法,将结构定义的语法进行转换,例如将Oracle中的number转换为MySQL中的decimal。

全量迁移DTS将源库中待迁移对象的存量数据,全部迁移到目标库中。如果在配置数据迁移任务时,仅选择了结构迁移和全量数据迁移,那么在迁移过程中,源库的新增数据不会被迁移至目标库。
说明 为保障数据一致性,迁移期间请勿在源库中写入新的数据。如需实现不停机迁移,您需要在配置数据迁移任务时,同时选择结构迁移全量数据迁移增量数据迁移
增量迁移DTS会先在源库中实现静态快照,然后将快照数据迁移到目标库,最后再将迁移过程中源库产生的增量数据实时同步至目标库。
说明 增量数据迁移会保持实时同步的状态,所以迁移任务不会自动结束,您需要手动结束迁移任务。

多种ETL特性

数据迁移支持多种ETL特性,主要包括:
  • 库表列三级对象名映射:可以实现对源跟目标实例的库名、表名或列名不同的两个对象之间进行数据迁移。
  • 迁移数据过滤:用户可以对要迁移的表设置SQL条件过滤要迁移的数据,例如用户可以设置时间条件,只迁移最新的数据。

报警机制

数据迁移提供迁移异常报警,一旦迁移任务出现异常,即会向任务创建者发送报警短信,让用户第一时间了解并处理异常任务。

迁移任务管理

迁移任务是数据传输服务进行数据迁移的基本单元。如果需要进行数据迁移,必须在数据传输服务控制台创建一个迁移任务。当创建迁移任务时,需要配置迁移的源跟目标实例的连接方式,迁移对象及迁移类型等信息。用户可以在数据传输服务控制台进行迁移任务的创建、管理、停止及删除等操作。

迁移任务在创建及运行过程中,不同阶段会处于不同的状态,具体如下表所示。

迁移状态状态说明可进行操作
未启动迁移任务已经完成任务配置,尚未启动预检查。预检查、删除
预检中迁移任务正在进行预检查。删除
预检通过迁移任务已经通过预检查,尚未启动数据迁移。启动、删除
迁移中迁移任务正在进行数据迁移。暂停、结束、删除
迁移失败迁移任务异常,可以根据任务的进度确认具体是哪个阶段失败。删除
暂停中迁移任务被暂停。启动、删除
完成迁移任务已经完成数据迁移,或者用户手动结束了迁移任务。删除

当任务处于迁移失败状态时,该任务将在7天之内被后台启动恢复。如果需要停止迁移,需要手动释放或结束该任务。

更多信息