You can use Data Transmission Service (DTS) to migrate data between homogeneous and heterogeneous data sources. Typical scenarios include data migration to Alibaba Cloud, data migration between instances within Alibaba Cloud, and database splitting and scale-out. This topic describes the database types, database versions, and migration types that are supported by the data migration feature. This topic also provides links to the relevant references.

Note
  • The data migration feature can achieve data synchronization in specific scenarios. However, data migration and data synchronization differ in scenarios, supported databases, features, and billing. For more information, see What are the differences between data migration and data synchronization?
  • DTS can read the instances that are created in an ApsaraDB for MyBase cluster. The topics listed in the following table are also applicable to migration scenarios for ApsaraDB for MyBase clusters. For example, you can migrate data from a self-managed MySQL database to an ApsaraDB RDS for MySQL instance that is created in an ApsaraDB for MyBase cluster.

Migration types

Migration type Description
Schema migration

DTS migrates the schemas of the required objects from the source database to the destination database. Tables, views, triggers, and stored procedures can be migrated.

For schema migration between heterogeneous databases, DTS converts the schema syntax based on the syntax of the source and destination databases. For example, it converts the NUMBER data type in Oracle databases into the DECIMAL data type in MySQL databases.

Full data migration DTS migrates historical data of the required objects from the source database to the destination database. If you select only Schema Migration and Full Data Migration as the migration types, DTS does not migrate incremental data generated in the source database.
Note To ensure data consistency, we recommend that you do not write data to the source database during full data migration. To ensure service continuity, you must select Schema Migration, Full Data Migration, and Incremental Data Migration when you configure a data migration task.
Incremental data migration DTS retrieves static snapshots that are used for full data migration from the source database, and migrates the snapshot data to the destination database. Then, DTS synchronizes incremental data generated in the source database to the destination database.
Note During incremental data migration, data is synchronized between the source and destination databases in real time. The migration task does not automatically stop. You must manually stop the migration task.

Supported databases and migration types

A self-managed MySQL, SQL Server, or Oracle database can be one of the following types:

  • Self-managed database with a public IP address
  • Self-managed database that has no public IP address or port number (connected over Database Gateway)
  • Self-managed database that is connected over Cloud Enterprise Network (CEN)
  • Self-managed database that is hosted on Elastic Compute Service (ECS)
  • Self-managed database that is connected over Express Connect, VPN Gateway, or Smart Access Gateway
Source database Destination database Migration type
  • Self-managed MySQL database

    Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • ApsaraDB RDS for MySQL

    All versions

Self-managed MySQL database

Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB-X 1.0

All versions

Note The databases in the PolarDB-X 1.0 instance must be created based on ApsaraDB RDS for MySQL instances. DTS does not support DRDS databases that are created based on PolarDB for MySQL clusters.
  • Full data migration
  • Incremental data migration

AnalyticDB for PostgreSQL

Version 4.3 or 6.0

  • Schema migration
  • Full data migration
  • Incremental data migration

AnalyticDB for MySQL

Version 2.0 or 3.0

  • Schema migration
  • Full data migration
  • Incremental data migration
  • ApsaraDB RDS for PostgreSQL

    Version 9.4, 10, 11, 12, or 13

  • Self-managed PostgreSQL database

    Version 9.4.8 or later, 9.5, 9.6, 10.x, 11.x, 12, or 13

  • Full data migration
  • Incremental data migration

Self-managed Oracle database (RAC or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

  • Schema migration
  • Full data migration
  • Incremental data migration

Message Queue for Apache Kafka

Version 0.10.1.0 to 2.x

Self-managed Kafka cluster

Version 0.10.1.0 to 2.7.0

  • Schema migration
  • Full data migration
  • Incremental data migration
  • Self-managed Db2 database

    Version 9.7 to 11.5

  • Self-managed Db2 for i database

    Version 7.3 or 7.4

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MariaDB TX

Version 10.3

ApsaraDB RDS for MariaDB TX

Version 10.3

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

Self-managed MySQL database

Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • Schema migration
  • Full data migration
  • Incremental data migration
ApsaraDB RDS for PPAS

All versions

PolarDB O Edition

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB for MySQL

All versions

PolarDB for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

Self-managed MySQL database

Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB-X 1.0

All versions

Note The databases in the PolarDB-X 1.0 instance must be created based on ApsaraDB RDS for MySQL instances. DTS does not support DRDS databases that are created based on PolarDB for MySQL clusters.
  • Schema migration
  • Full data migration
  • Incremental data migration

AnalyticDB for MySQL

Version 3.0

Note You can configure a data migration task for this scenario only in the DTS console of the new version.
  • Schema migration
  • Full data migration
  • Incremental data migration

Self-managed Oracle database (RAC, PDB, or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB O Edition

All versions

PolarDB O Edition

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

Self-managed Oracle database (RAC or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

  • Schema migration
  • Full data migration
  • Incremental data migration

Message Queue for Apache Kafka

Versions 0.10.1.0 to 2.x

Self-managed Kafka cluster

Versions 0.10.1.0 to 2.7.0

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB PostgreSQL

Version 11

Self-managed Oracle database (RAC or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

  • Full data migration
  • Incremental data migration

MaxCompute

All versions

  • Self-managed MySQL database

    Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • ApsaraDB RDS for MySQL

    All versions

  • Schema migration
  • Full data migration
  • Self-managed SQL Server database

    Version 2005, 2008, 2008 R2, 2012, 2014, 2016, or 2017

    Note
    • DTS does not support SQL Server clusters or SQL Server Always On availability groups (AOAGs).
    • If the version of the source database is 2005, incremental data migration is not supported.
  • ApsaraDB RDS for SQL Server

    Version 2008, 2008 R2, 2012, 2014, 2016, or 2017

    Note If the version of the source database is 2008 or 2008 R2, incremental data migration is not supported.

Self-managed SQL Server database

Version 2005, 2008, 2008 R2, 2012, 2014, 2016, or 2017

Note DTS does not support SQL Server clusters or SQL Server Always On availability groups (AOAGs).
  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for SQL Server

Version 2008, 2008 R2, 2012, 2014, 2016, or 2017

  • Schema migration
  • Full data migration
  • Incremental data migration
ApsaraDB RDS for SQL Server

Version 2008, 2008 R2, 2012, 2014, 2016, or 2017

Note If the version of the source database is 2008 or 2008 R2, incremental data migration is not supported.
AnalyticDB for MySQL

Version 2.0 or 3.0

Self-managed Oracle database (RAC or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

Self-managed Oracle database (RAC or non-RAC architecture)

Version 9i, 10g, 11g, 12c, 18c, or 19c

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB O Edition

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for PPAS

Version 9.3 or 10

  • Schema migration
  • Full data migration
  • Incremental data migration

Self-managed MySQL database

Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB-X 1.0

All versions

Note The databases in the PolarDB-X 1.0 instance must be created based on ApsaraDB RDS for MySQL instances. DTS does not support DRDS databases that are created based on PolarDB for MySQL clusters.
  • Full data migration
  • Incremental data migration

AnalyticDB for MySQL

Version 2.0 or 3.0

  • Schema migration
  • Full data migration
  • Incremental data migration

AnalyticDB for PostgreSQL

Version 4.3 or 6.0

  • Schema migration
  • Full data migration
  • Incremental data migration

Message Queue for Apache Kafka

Version 0.10.1.0 to 2.x

Self-managed Kafka cluster

Version 0.10.1.0 to 2.7.0

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB PostgreSQL

Version 11

  • Schema migration
  • Full data migration
  • Incremental data migration
  • Self-managed PostgreSQL database

    Version 9.4.8 or later, 9.5, 9.6, 10.x, 11.x, 12, or 13

  • ApsaraDB RDS for PostgreSQL

    Version 9.4, 10, 11, 12, or 13

  • Schema migration
  • Full data migration
  • Incremental data migration
  • Self-managed PostgreSQL database

    Version 9.4.8 or later, 9.5, 9.6, 10.x, 11.x, 12, or 13

  • ApsaraDB RDS for PostgreSQL

    Version 9.4, 10, 11, 12, or 13

  • Self-managed MySQL database

    Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • ApsaraDB RDS for MySQL

    All versions

Note You can configure a data migration task for this scenario only in the DTS console of the new version.
  • Full data migration
  • Incremental data migration
  • Self-managed PostgreSQL database

    Version 9.4.8 or later, 9.5, 9.6, 10.x, 11.x, 12, or 13

  • ApsaraDB RDS for PostgreSQL

    Version 9.4, 10, 11, 12, or 13

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB O Edition

All versions

Note You can configure a data migration task for this scenario only in the DTS console of the new version.
  • Full data migration
  • Incremental data migration
  • Self-managed MongoDB database (standalone, replica set, or sharded cluster architecture)

    Version 3.0, 3.2, 3.4, 3.6, or 4.0Version

  • ApsaraDB for MongoDB instance (standalone, replica set, or sharded cluster architecture)

    Version 3.4, 4.0, or 4.2

  • Self-managed MongoDB database (standalone, replica set, or sharded cluster architecture)

    Version 3.0, 3.2, 3.4, 3.6, or 4.0Version

  • ApsaraDB for MongoDB instance (standalone, replica set, or sharded cluster architecture)

    Version 3.4, 4.0, or 4.2

  • Full data migration
  • Incremental data migration
Note
  • MongoDB is a NoSQL database that does not require schema migration.
  • If the source instance is deployed in a standalone architecture, incremental data migration is not supported.

Self-managed Redis database (standalone architecture)

Version 2.8, 3.0, 3.2, 4.0, 5.0, or 6.0

Self-managed Redis database (standalone or cluster architecture)

Version 2.8, 3.0, 3.2, 4.0, 5.0, or 6.0

  • Full data migration
  • Incremental data migration
Note Redis is a NoSQL database that does not require schema migration.

ApsaraDB for Redis instance (standalone or cluster architecture)

Community Edition 4.0, 5.0, or 6.0

  • Full data migration
  • Incremental data migration
Self-managed TiDB database

Self-managed MySQL database

Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • Schema migration
  • Full data migration
  • Incremental data migration

ApsaraDB RDS for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

PolarDB for MySQL

All versions

  • Schema migration
  • Full data migration
  • Incremental data migration
  • Self-managed Db2 database

    Version 9.7 to 11.5

  • Self-managed Db2 for i database

    Version 7.3 or 7.4

  • Self-managed MySQL database

    Version 5.1, 5.5, 5.6, 5.7, or 8.0

  • ApsaraDB RDS for MySQL

    All versions

  • Schema migration
  • Full data migration
  • Incremental data migration

References

Migration scenario Source database Reference
Migrate data from a self-managed database to Alibaba Cloud MySQL Migrate data from a self-managed MySQL database to an ApsaraDB RDS for MySQL instance
Migrate data from a self-managed MySQL database connected over Express Connect, VPN Gateway, or Smart Access Gateway to an ApsaraDB RDS for MySQL instance
Migrate data from a self-managed MySQL database connected over Express Connect, VPN Gateway, or Smart Access Gateway to an ApsaraDB RDS for MySQL instance across Alibaba Cloud accounts
Migrate data from a self-managed MySQL database to a PolarDB for MySQL cluster
Migrate data from a self-managed MySQL database to a DRDS instance
SQL Server Migrate incremental data from a self-managed SQL Server database to an ApsaraDB RDS for SQL Server instance
Migrate full data from a self-managed SQL Server database to an ApsaraDB RDS for SQL Server instance
Oracle Migrate data from a self-managed Oracle database to a PolarDB O Edition cluster (Recommended solution for migrating data from an Oracle database to the cloud)
Migrate data from a self-managed Oracle database to a DRDS instance
Migrate data from a self-managed Oracle database to an AnalyticDB for PostgreSQL instance
Migrate data from a self-managed Oracle database to an ApsaraDB RDS for MySQL instance
Migrate data from a self-managed Oracle database to an ApsaraDB RDS for PPAS instance
Migrate data from a self-managed Oracle database to a PolarDB for MySQL cluster
PostgreSQL Migrate incremental data from a self-managed PostgreSQL database (version 10.1 to 12) to an ApsaraDB RDS for PostgreSQL instance
Migrate incremental data from a self-managed PostgreSQL database (versions 9.4.8 to 10.0) to an ApsaraDB RDS for PostgreSQL instance
Migrate full data from a self-managed PostgreSQL database to an ApsaraDB RDS for PostgreSQL instance
Redis Migrate data from a self-managed Redis database to an ApsaraDB for Redis instance
MongoDB Migrate a self-managed standalone MongoDB database to Alibaba Cloud by using DTS
Migrate the replica set of a self-managed MongoDB database to Alibaba Cloud by using DTS
Migrate the shards of a self-managed MongoDB database to Alibaba Cloud by using DTS
TiDB Migrate incremental data from a self-managed TiDB database to an ApsaraDB RDS for MySQL instance
Migrate full data from a self-managed TiDB database to an ApsaraDB RDS for MySQL instance
Db2 Migrate data from a self-managed Db2 database to an ApsaraDB RDS for MySQL instance
Migrate data from a third-party cloud to Alibaba Cloud Amazon RDS Migrate data from an Amazon RDS for MySQL instance to an ApsaraDB RDS for MySQL instance
Migrate data from an Amazon RDS for Oracle instance to an ApsaraDB RDS for MySQL instance
Migrate full data from an Amazon RDS for Oracle instance to an ApsaraDB RDS for PPAS instance
Migrate full data from an Amazon RDS for PostgreSQL instance to an ApsaraDB RDS for PostgreSQL instance
Amazon Aurora Migrate data from an Amazon Aurora MySQL cluster to an ApsaraDB RDS for MySQL instance
Migrate data from an Amazon Aurora MySQL cluster to a PolarDB for MySQL cluster
Migrate full data from an Amazon Aurora PostgreSQL instance to an ApsaraDB RDS for PostgreSQL instance
Amazon RDS for SQL Server Migrate full data from an Amazon RDS for SQL Server instance to an ApsaraDB RDS for SQL Server instance
Migrate data between instances of the same Alibaba Cloud account ApsaraDB RDS instance Migrate data between RDS instances
ApsaraDB RDS for MySQL instance Migrate data from an ApsaraDB RDS for MySQL instance to a PolarDB for MySQL cluster
ApsaraDB RDS for MariaDB TX instance Migrate data from an ApsaraDB RDS for MariaDB TX instance to an ApsaraDB RDS for MySQL instance
PolarDB for MySQL cluster Migrate data between PolarDB for MySQL clusters
Migrate data from a PolarDB for MySQL cluster to an ApsaraDB RDS for MySQL instance
ApsaraDB for MongoDB instance Migrate data from a standalone instance to a replica set or sharded cluster instance
Migrate data from a replica set instance to a sharded cluster instance
Migrate data between ApsaraDB for MongoDB instances across regions
Migrate data between instances of different Alibaba Cloud accounts ApsaraDB RDS instance Migrate data between RDS instances of different Alibaba Cloud accounts
PolarDB for MySQL cluster Migrate data between PolarDB for MySQL clusters of different Alibaba Cloud accounts
ApsaraDB for MongoDB instance Migrate data between ApsaraDB for MongoDB instances of different Alibaba Cloud accounts
Migrate data from Alibaba Cloud to a self-managed database ApsaraDB RDS for MySQL instance Migrate data from an ApsaraDB RDS for MySQL instance to a self-managed MySQL database
Migrate data between self-managed databases Oracle Migrate data between self-managed Oracle databases