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

支持的数据源类型

数据迁移支持多种数据源之间的数据迁移,不同数据源的支持情况如下表。

数据源 结构迁移 全量迁移 增量迁移
Oracle->MySQL 支持 支持 支持
Oracle->RDS For PPAS 支持 支持 支持
Oracle->DRDS 不支持 支持 支持
Oracle->ADS 支持 支持 支持
Oracle->Oracle 支持 支持 支持
MySQL ->RDS For MySQL 支持 支持 支持
MySQL ->PostgreSQL 不支持 支持 支持
SQLServer->SQLServer 支持 支持 支持
PostgreSQL->PostgreSQL 支持 支持 支持
MongoDB -> MongoDB 支持 支持 支持
Redis -> Redis 支持 支持 支持
MySQL->DRDS 不支持 支持 支持
MySQL->PetaData 不支持 支持 支持
MySQL->OceanBase 支持 支持 支持
DB2->MySQL 支持 支持 支持
数据迁移任务支持的实例类型如下。
迁移任务的源实例类型 迁移任务的目标实例类型
  • 本地自建数据库
  • ECS上的自建数据库
  • RDS实例
  • 云数据库MongoDB
  • 本地自建数据库
  • ECS上的自建数据库
  • RDS实例
  • 云数据库MongoDB
  • POLARDB实例
  • ADS实例
  • DRDS实例
  • PetaData实例
  • Redis实例

支持的数据源版本

数据源 源实例版本 目标实例版本
Oracle->MySQL 9i、10g、11g 5.1、5.5、5.6、5.7
Oracle->RDS For PPAS 9i、10g、11g 9.3
Oracle->DRDS 9i、10g、11g -
Oracle->Oracle 9i、10g、11g 9i、10g、11g
MySQL ->RDS For MySQL 5.1、5.5、5.6、5.7 5.1、5.5、5.6、5.7
MySQL ->PostgreSQL 5.1、5.5、5.6、5.7 9.4、9.5
SQLServer->SQLServer 2008R2、2012、2014、2016 2008R2、2012、2014、2016
PostgreSQL->PostgreSQL 9.4、9.5 9.4、9.5
MongoDB -> MongoDB 3.0、3.2、3.4、3.6 3.0、3.2、3.4、3.6、4.0
Redis -> Redis 2.8 2.8
MySQL->DRDS 5.1、5.5、5.6、5.7 -
MySQL->PetaData 5.1、5.5、5.6、5.7 -
MySQL->OceanBase 5.1、5.5、5.6、5.7 -
DB2->MySQL 9.7、10.5 5.1、5.5、5.6、5.7

关于数据迁移支持的地域,请参考购买页面

多种迁移方式

  • 在线迁移方式

    默认使用在线迁移,在线迁移要求DTS服务器能够同时跟源实例、目标实例连通。在线迁移只要用户配置迁移的源、目标实例及迁移对象即可,DTS会自动完成整个数据迁移过程,支持数据不停服迁移。

  • 离线文件迁移方式

    离线文件迁移要求用户先使用DTS客户端将源实例的数据导出成文件,再将文件导入到目标实例。 离线文件迁移方式不支持数据不停服迁移,它主要用于解决DTS服务器跟源数据库网络不通的情况。

说明 如果DTS与源实例网络连通的情况下,建议使用在线迁移方式以降低数据迁移成本。

多种迁移步骤

数据迁移支持 结构迁移全量数据迁移增量数据迁移等多种迁移步骤。
  • 结构迁移:帮助用户将源实例中的结构对象定义一键迁移至目标实例。
  • 全量数据迁移:帮助用户将源实例中的历史存量数据迁移至目标实例。
    说明 当数据库类型为MySQL时,在全量迁移过程中,并发Insert会导致目标表出现空间碎片问题,全量迁移完成后目标实例的空间会比源实例空间大。
  • 增量数据迁移:帮助用户将迁移过程中,源实例产生的增量数据实时同步到目标实例。

通过结构迁移全量数据迁移增量数据迁移可以简单实现业务不停服迁移。

多种ETL特性

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

报警机制

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

迁移任务管理

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

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

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

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

更多信息

  • 如果需要立即开始迁移数据,请登陆DTS控制台,配置数据迁移任务。
  • 如果您有应用迁移的需求,请参考迁移工具