数据迁移功能旨在帮助用户方便、快速地实现各种数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。数据传输服务提供的数据迁移功能能够支持同/异构数据源之间的数据迁移,同时提供了库表列三级映射、数据过滤多种ETL特性。
说明 数据迁移在某些场景下可实现部分数据同步的功能,但数据同步的网络稳定性更好、功能更丰富,推荐您使用数据同步功能。更多区别,请参见数据迁移和数据同步的区别是什么?。
支持的数据库、迁移类型以及配置文档
请参见迁移方案概览。
简单易用
您只需配置迁移的源、目标实例及迁移对象即可,DTS会自动完成整个数据迁移过程,支持业务不停服迁移。
迁移类型说明
数据迁移支持库表结构迁移、全量迁移及增量迁移,同时使用这三种迁移类型,可实现业务不停服迁移。
迁移类型 | 说明 |
---|---|
库表结构迁移 | DTS将源库中待迁移对象的结构定义迁移至目标库(例如表、视图、触发器、存储过程等)。 对于异构数据库之间的结构迁移,DTS会根据源库和目标库的语法,将结构定义的语法进行转换,例如将Oracle中的number转换为MySQL中的decimal。 |
全量迁移 | DTS将源库中待迁移对象的存量数据,全部迁移到目标库中。如果在配置数据迁移任务时,仅选择了结构迁移和全量数据迁移,那么在迁移过程中,源库的新增数据不会被迁移至目标库。 说明 为保障数据一致性,迁移期间请勿在源库中写入新的数据。如需实现不停机迁移,您需要在配置数据迁移任务时,同时选择结构迁移、全量数据迁移和增量数据迁移。 |
增量迁移 | DTS会先在源库中实现静态快照,然后将快照数据迁移到目标库,最后再将迁移过程中源库产生的增量数据实时同步至目标库。 说明 增量数据迁移会保持实时同步的状态,所以迁移任务不会自动结束,您需要手动结束迁移任务。 |
多种ETL特性
数据迁移支持多种ETL特性,主要包括:
- 库表列三级对象名映射:可以实现对源跟目标实例的库名、表名或列名不同的两个对象之间进行数据迁移。
- 迁移数据过滤:用户可以对要迁移的表设置SQL条件过滤要迁移的数据,例如用户可以设置时间条件,只迁移最新的数据。
报警机制
数据迁移提供迁移异常报警,一旦迁移任务出现异常,即会向任务创建者发送报警短信,让用户第一时间了解并处理异常任务。
迁移任务管理
迁移任务是数据传输服务进行数据迁移的基本单元。如果需要进行数据迁移,必须在数据传输服务控制台创建一个迁移任务。当创建迁移任务时,需要配置迁移的源跟目标实例的连接方式,迁移对象及迁移类型等信息。用户可以在数据传输服务控制台进行迁移任务的创建、管理、停止及删除等操作。
迁移任务在创建及运行过程中,不同阶段会处于不同的状态,具体如下表所示。
迁移状态 | 状态说明 | 可进行操作 |
---|---|---|
未启动 | 迁移任务已经完成任务配置,尚未启动预检查。 | 预检查、删除 |
预检中 | 迁移任务正在进行预检查。 | 删除 |
预检通过 | 迁移任务已经通过预检查,尚未启动数据迁移。 | 启动、删除 |
迁移中 | 迁移任务正在进行数据迁移。 | 暂停、结束、删除 |
迁移失败 | 迁移任务异常,可以根据任务的进度确认具体是哪个阶段失败。 | 删除 |
暂停中 | 迁移任务被暂停。 | 启动、删除 |
完成 | 迁移任务已经完成数据迁移,或者用户手动结束了迁移任务。 | 删除 |
当任务处于迁移失败状态时,该任务将在7天之内被后台启动恢复。如果需要停止迁移,需要手动释放或结束该任务。