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.
- The DTS console is upgraded. We recommend that you use the new DTS console because the configuration process is optimized and multiple data migration scenarios are supported.
- In some scenarios, data migration can achieve part of the features of data synchronization. However, data synchronization delivers better network stability and performance. We recommend that you use data synchronization instead of data migration. For more information about the differences between these two features, see the "What are the differences between incremental data migration and data synchronization?" section of the FAQ topic.
- DTS can read the instances that are created in ApsaraDB MyBase. The topics listed in the following table are also suitable for migration scenarios for ApsaraDB MyBase. For example, you can migrate data from a self-managed MySQL database to an ApsaraDB MyBase for MySQL instance.
Migration types
Migration type | Description |
---|---|
Schema migration |
DTS migrates the schemas of 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
when you configure a data migration task, DTS does not migrate incremental data generated
in the source database.
Note To ensure data consistency, 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.
|
Overview of data migration scenarios
DTS supports the following data migration scenarios. You can click one of the following scenarios to view the supported database versions, migration types, and configuration procedure.- Migrate data from a self-managed MySQL database or an ApsaraDB RDS for MySQL instance
- Migrate data from an ApsaraDB RDS for MariaDB TX instance
- Migrate data from an ApsaraDB RDS for PPAS instance
- Migrate data from a PolarDB for MySQL cluster
- Migrate data from a PolarDB for Oracle cluster
- Migrate data from a PolarDB-X instance
- Migrate data from a PolarDB for PostgreSQL cluster
- Migrate data from a MaxCompute project
- Migrate data from an Oracle database
- Migrate data from a self-managed PostgreSQL database or an ApsaraDB RDS for PostgreSQL instance
- Migrate data from a self-managed SQL Server database or an ApsaraDB RDS for SQL Server instance
- Migrate data from a self-managed MongoDB database or an ApsaraDB for MongoDB instance
- Migrate data from a self-managed Redis database or an ApsaraDB for Redis instance
- Migrate data from a self-managed TiDB database
- Migrate data from a self-managed Db2 for LUW database
- Migrate data from a self-managed Db2 for i database
- Migrate data from a Teradata database
- Migrate data from a self-managed HBase database
- Migrate data from a database hosted on a third-party cloud
- Migrate data between instances of different Alibaba Cloud accounts
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 without a public IP address or port number (connected over Database Gateway)
- Self-managed database connected over Cloud Enterprise Network (CEN)
- Self-managed database hosted on Elastic Compute Service (ECS)
- Self-managed database connected over Express Connect, VPN Gateway, or Smart Access Gateway
Migrate data from a self-managed MySQL database or an ApsaraDB RDS for MySQL instance
Source database | Destination database | Migration type | References |
---|---|---|---|
|
|
Schema migration Full data migration Incremental data migration |
|
PolarDB for MySQL cluster
All versions |
Schema migration Full data migration Incremental data migration |
||
PolarDB-X 1.0 or PolarDB-X 2.0 instance
Note
|
Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for MySQL instance to a PolarDB-X 2.0 instance | |
AnalyticDB for MySQL cluster Version 2.0 or 3.0 |
Schema migration Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for MySQL instance to an AnalyticDB for MySQL V3.0
cluster Note Data migration to an AnalyticDB for MySQL cluster V2.0 is not supported in the new
DTS console. You can configure a data migration task for this scenario only in the
old DTS console.
|
|
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Available soon | |
|
Full data migration Incremental data migration |
Available soon | |
Message Queue for Apache Kafka instance 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 |
Migrate data from an ApsaraDB RDS for MySQL instance to a Message Queue for Apache Kafka instance | |
DataHub project All versions |
Schema migration |
Migrate data from an ApsaraDB RDS for MySQL instance to a DataHub project | |
Elasticsearch cluster Version 5.5, 5.6, 6.3, 6.7, 7.4, or 7.10 |
Schema migration Full data migration Incremental data migration |
Available soon | |
|
Schema migration Full data migration Incremental data migration |
Available soon | |
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 |
Available soon |
Migrate data from an ApsaraDB RDS for MariaDB TX instance
Source database | Destination database | Migration type | References |
---|---|---|---|
ApsaraDB RDS for MariaDB TX instance Version 10.3 |
ApsaraDB RDS for MariaDB TX instance Version 10.3 |
Schema migration Full data migration Incremental data migration |
Migrate data between RDS instances |
|
Schema migration Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for MariaDB TX instance to an ApsaraDB RDS for MySQL instance |
Migrate data from an ApsaraDB RDS for PPAS instance
Source database | Destination database | Migration type | References |
---|---|---|---|
ApsaraDB RDS for PPAS instance
All versions |
PolarDB for Oracle cluster All versions |
Schema migration Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for PPAS instance to a PolarDB for Oracle cluster |
Migrate data from a PolarDB for MySQL cluster
Source database | Destination database | Migration type | References |
---|---|---|---|
PolarDB for MySQL cluster All versions |
PolarDB for MySQL cluster All versions |
Schema migration Full data migration Incremental data migration |
Migrate data between PolarDB for MySQL clusters |
|
Schema migration Full data migration Incremental data migration |
Migrate data from a PolarDB for MySQL cluster to an ApsaraDB RDS for MySQL instance | |
PolarDB-X 1.0 or PolarDB-X 2.0 instance
Note
|
Full data migration Incremental data migration |
Migrate data from a PolarDB for MySQL cluster to a PolarDB-X 2.0 instance | |
AnalyticDB for MySQL cluster Version 3.0 |
Schema migration Full data migration Incremental data migration |
Migrate data from a PolarDB for MySQL cluster to an AnalyticDB for MySQL V3.0 cluster | |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Available soon | |
Message Queue for Apache Kafka instance 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 |
Available soon | |
DataHub project All versions |
Schema migration Incremental data migration |
Available soon | |
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 |
Available soon |
Migrate data from a PolarDB for Oracle cluster
Source database | Destination database | Migration type | References |
---|---|---|---|
PolarDB for Oracle cluster All versions |
PolarDB for Oracle cluster All versions |
Schema migration Full data migration Incremental data migration |
Migrate data between PolarDB for Oracle clusters |
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 |
Migrate data from a PolarDB for Oracle cluster to a self-managed Oracle database | |
Message Queue for Apache Kafka instance Version 0.10.1.0 to 2.x Self-managed Kafka cluster Version 0.10.1.0 to 2.7.0 |
Incremental data migration |
Available soon |
Migrate data from a PolarDB-X instance
- Migrate data from a PolarDB-X 2.0 instance
Source database Destination database Migration type References PolarDB-X 2.0 instance Note A database in a PolarDB-X 2.0 instance must be compatible with MySQL 5.7. We recommend that you update the instance to version 5.4.11 or later. For more information about how to update the version of an instance, see View and update the version of an instance..PolarDB-X 2.0 instance Note A database in a PolarDB-X 2.0 instance must be compatible with MySQL 5.7. We recommend that you update the instance to version 5.4.11 or later. For more information about how to update the version of an instance, see View and update the version of an instance..Schema migration
Full data migration
Incremental data migration
Migrate data between PolarDB-X instances - Self-managed MySQL database
Version 5.1, 5.5, 5.6, 5.7, or 8.0
- ApsaraDB RDS for MySQL instance
All versions
Schema migration
Full data migration
Incremental data migration
Migrate data from a PolarDB-X instance to an ApsaraDB RDS for MySQL instance PolarDB for MySQL cluster
All versions
Schema migration
Full data migration
Incremental data migration
Migrate data from a PolarDB-X instance to a PolarDB for MySQL cluster AnalyticDB for MySQL cluster
Version 3.0
Schema migration
Full data migration
Incremental data migration
Migrate data from a PolarDB-X instance to an AnalyticDB for MySQL V3.0 cluster Message Queue for Apache Kafka instance
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
Migrate data from a PolarDB-X instance to a Message Queue for Apache Kafka instance DataHub project
All versions
Schema migration
Incremental data migration
Available soon Elasticsearch cluster
Version 5.5, 5.6, 6.3, 6.7, 7.4, or 7.10
Schema migration
Full data migration
Incremental data migration
Migrate data from a PolarDB-X instance to an Elasticsearch cluster - Self-managed MySQL database
Migrate data from a PolarDB for PostgreSQL cluster
Source database | Destination database | Migration type | References |
---|---|---|---|
PolarDB for PostgreSQL cluster Version 11 |
PolarDB for PostgreSQL cluster Version 11 |
Schema migration Full data migration Incremental data migration |
Available soon |
Self-managed Oracle database (RAC or non-RAC architecture) Version 9i, 10g, 11g, 12c, 18c, or 19c |
Full data migration Incremental data migration |
Migrate data from a PolarDB for PostgreSQL cluster to a self-managed Oracle database |
Migrate data from a MaxCompute project
Source database | Destination database | Migration type | References |
---|---|---|---|
MaxCompute project
All versions |
|
Schema migration Full data migration |
Migrate data from a MaxCompute project to an ApsaraDB RDS for MySQL instance |
Migrate data from an Oracle database
Source database | Destination database | Migration type | References |
---|---|---|---|
Self-managed Oracle database (RAC or non-RAC architecture) Version 9i, 10g, 11g, 12c, 18c, or 19c |
PolarDB for Oracle cluster All versions |
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed Oracle database to a PolarDB for Oracle cluster |
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 |
Migrate data between self-managed Oracle databases | |
|
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed Oracle database to an ApsaraDB RDS for MySQL instance | |
PolarDB for MySQL cluster All versions |
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed Oracle database to a PolarDB for MySQL cluster | |
PolarDB for PostgreSQL cluster Version 11 |
Schema migration Full data migration Incremental data migration |
Available soon | |
PolarDB-X 1.0 or PolarDB-X 2.0 instance
Note
|
Full data migration Incremental data migration |
Migrate data from a self-managed Oracle database to a PolarDB-X 1.0 instance | |
AnalyticDB for MySQL cluster Version 2.0 or 3.0 |
Schema migration Full data migration Incremental data migration |
Available soon | |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed Oracle database to an AnalyticDB for PostgreSQL instance | |
|
Schema migration Full data migration Incremental data migration |
Available soon | |
Message Queue for Apache Kafka instance 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 |
Available soon | |
DataHub project All versions |
Schema migration Incremental data migration |
Available soon |
Migrate data from a self-managed PostgreSQL database or an ApsaraDB RDS for PostgreSQL instance
Source database | Destination database | Migration type | References |
---|---|---|---|
|
|
Schema migration Full data migration Incremental data migration |
|
PolarDB for PostgreSQL cluster Version 11 |
Schema migration Full data migration Incremental data migration |
Available soon | |
|
Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for PostgreSQL instance to an ApsaraDB RDS for MySQL instance | |
PolarDB for Oracle cluster All versions |
Full data migration Incremental data migration |
Migrate data from a self-managed PostgreSQL database to a PolarDB for Oracle cluster | |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Available soon |
Migrate data from a self-managed SQL Server database or an ApsaraDB RDS for SQL Server instance
- If the version of the self-managed SQL Server database is 2005 or the version of the ApsaraDB RDS for SQL Server instance is 2008 or 2008R2, incremental data migration is not supported for this scenario.
- DTS does not support SQL Server clusters or SQL Server AlwaysOn availability groups (AOAGs).
Source database | Destination database | Migration type | References |
---|---|---|---|
|
|
Schema migration Full data migration Incremental data migration Note If the version of the self-managed SQL Server database is 2005 or the version of the
ApsaraDB RDS for SQL Server instance is 2008 or 2008R2, incremental data migration
is not supported for this scenario.
|
Migrate data from a self-managed SQL Server database to an ApsaraDB RDS for SQL Server instance |
|
Schema migration Full data migration Incremental data migration |
Available soon | |
PolarDB for MySQL cluster All versions |
Schema migration Full data migration Incremental data migration |
Available soon | |
AnalyticDB for MySQL cluster Version 3.0 |
Schema migration Full data migration Incremental data migration |
Migrate data from an ApsaraDB RDS for SQL Server instance to an AnalyticDB for MySQL V3.0 cluster | |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed SQL Server database to an AnalyticDB for PostgreSQL instance |
Migrate data from a self-managed MongoDB database or an ApsaraDB for MongoDB instance
Source database | Destination database | Migration type | References |
---|---|---|---|
Standalone instances
|
|
Schema migration Full data migration |
Migrate data from an ApsaraDB for MongoDB instance (standalone architecture) to another ApsaraDB for MongoDB instance (all architectures) |
Architecture of replica set
|
|
Schema migration Full data migration Incremental data migration |
Migrate data from an ApsaraDB for MongoDB instance (replica set architecture) to another ApsaraDB for MongoDB instance (replica set architecture or sharded cluster architecture) |
Migrate data from a self-managed Redis database or an ApsaraDB for Redis instance
- Redis is a NoSQL database that does not require schema migration.
- The disk types of the source and destination ApsaraDB for Redis instances are local disks rather than cloud disks.
- The source database does not support ApsaraDB for Redis instances of the cluster architecture.
Source database | Destination database | Migration type | References |
---|---|---|---|
|
|
Full data migration Incremental data migration |
Migrate data from a self-managed TiDB database
Source database | Destination database | Migration type | References |
---|---|---|---|
TiDB database |
|
Schema migration Full data migration Incremental data migration |
|
PolarDB for MySQL cluster All versions |
Schema migration Full data migration Incremental data migration |
Available soon |
Migrate data from a self-managed Db2 for LUW database
Source database | Destination database | Migration type | References |
---|---|---|---|
Db2 for LUW database
Version 9.5, 9.7, 10.1, 10.5, 11.1, or 11.5 |
|
Schema migration Full data migration Incremental data migration |
Migrate data from a self-managed Db2 database to an ApsaraDB RDS for MySQL instance |
PolarDB-X 2.0 instance
Note A database in a PolarDB-X 2.0 instance must be compatible with MySQL 5.7. We recommend
that you update the instance to version 5.4.11 or later. For more information about
how to update the version of an instance, see View and update the version of an instance..
|
Full data migration Incremental data migration |
Migrate data from a Db2 for LUW database to a PolarDB-X instance | |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration Incremental data migration |
Available soon | |
Message Queue for Apache Kafka instance 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 |
Available soon |
Migrate data from a self-managed Db2 for i database
Source database | Destination database | Migration type | References |
---|---|---|---|
Db2 for i database
Version 7.3 or 7.4 |
|
Schema migration Full data migration Incremental data migration |
Available soon |
Migrate data from a Teradata database
Source database | Destination database | Migration type | References |
---|---|---|---|
Teradata database
Version 2017 |
AnalyticDB for PostgreSQL instance Version 4.3 or 6.0 |
Schema migration Full data migration |
Migrate data from a Teradata database to an AnalyticDB for PostgreSQL instance |
Migrate data from a self-managed HBase database
Source database | Destination database | Migration type | References |
---|---|---|---|
Self-managed HBase database
Version 1.x |
AnalyticDB for MySQL cluster Version 3.0 |
Schema migration Full data migration |
Migrate data from a self-managed HBase database to an AnalyticDB for MySQL V3.0 cluster |
Migrate data from a database hosted on a third-party cloud
You can use DTS to migrate data from a database hosted on a third-party cloud, such as Amazon RDS for MySQL and Amazon RDS for Oracle to an Alibaba Cloud database, such as ApsaraDB RDS for MySQL.
Source database | Destination database | Migration type | References |
---|---|---|---|
Amazon RDS for MySQL instance | ApsaraDB RDS for MySQL instance |
Schema migration Full data migration Incremental data migration |
Migrate data from an Amazon RDS for MySQL instance to an ApsaraDB RDS for MySQL instance |
Amazon RDS for Oracle instance | ApsaraDB RDS for MySQL instance |
Schema migration Full data migration Incremental data migration |
Migrate data from an Amazon RDS for Oracle instance to an ApsaraDB RDS for MySQL instance |
Amazon RDS for PostgreSQL instance | ApsaraDB RDS for PostgreSQL instance |
Schema migration Full data migration Incremental data migration |
Migrate incremental data from an Amazon RDS for PostgreSQL instance to an ApsaraDB RDS for PostgreSQL instance |
Schema migration Full data migration |
Migrate full data from an Amazon RDS for PostgreSQL instance to an ApsaraDB RDS for PostgreSQL instance | ||
Amazon RDS for SQL Server instance | ApsaraDB RDS for SQL Server instance |
Schema migration Full data migration |
Migrate full data from an Amazon RDS for SQL Server instance to an ApsaraDB RDS for SQL Server instance |
Amazon Aurora MySQL cluster | ApsaraDB RDS for MySQL instance |
Schema migration Full data migration Incremental data migration |
Migrate data from an Amazon Aurora MySQL cluster to an ApsaraDB RDS for MySQL instance |
PolarDB for MySQL cluster |
Schema migration Full data migration Incremental data migration |
Migrate data from an Amazon Aurora MySQL cluster to a PolarDB for MySQL cluster | |
Amazon Aurora PostgreSQL cluster | ApsaraDB RDS for PostgreSQL instance |
Schema migration Full data migration |
Migrate full data from an Amazon Aurora PostgreSQL instance to an ApsaraDB RDS for PostgreSQL instance |
Atlas MongoDB database | ApsaraDB for MongoDB instance |
Full data migration Incremental data migration |
Migrate data from a MongoDB Atlas database to an ApsaraDB for MongoDB instance |
Migrate data between instances of different Alibaba Cloud accounts
Source database | Destination database | Migration type | References |
---|---|---|---|
Source ApsaraDB RDS instance | Destination ApsaraDB RDS instance |
Schema migration Full data migration Incremental data migration |
Migrate data between ApsaraDB RDS instances of different Alibaba Cloud accounts |