数据传输服务DTS支持RDBMS、NoSQL、OLAP等数据源间的数据交互。下面介绍DTS支持的数据库、迁移类型、同步初始化类型、同步拓扑和支持订阅的数据类型。由云技术在线提供DTS技术支持。
数据迁移
数据迁移功能帮助您实现同/异构数据源之间的数据迁移,适用于数据上云迁移、阿里云内部跨实例数据迁移、数据库拆分扩容等业务场景。本文将介绍数据迁移功能支持的数据库、版本和迁移类型。
下表中各类自建数据库(例如自建MySQL、SQL Server、Oracle等)的支持的部署位置如下:
- 有公网IP的自建数据库
- 无公网IP:Port的数据库(通过数据库网关DG接入)
- 通过云企业网CEN接入的自建数据库
- ECS上的自建数据库
- 通过专线/VPN网关/智能接入网关接入的自建数据库
源数据库 | 目标数据库 | 迁移类型 |
---|---|---|
|
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
RDS MySQL 所有版本 |
|
|
PolarDB MySQL 所有版本 |
|
|
DRDS 所有版本 说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
|
|
|
HybridDB MySQL(原名PetaData) 所有版本 |
|
|
分析型数据库MySQL版(AnalyticDB MySQL) 2.0、3.0版本 |
|
|
自建PostgreSQL 9.4、9.5、9.6、10.x、11.x、12版本 |
|
|
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 |
|
|
RDS MariaDB 10.3版本 |
RDS MariaDB 10.3版本 |
|
RDS MySQL 所有版本 |
|
|
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
|
PolarDB MySQL 所有版本 |
PolarDB MySQL 所有版本 |
|
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
|
RDS MySQL 所有版本 |
|
|
分析型数据库MySQL版(AnalyticDB MySQL) 2.0、3.0版本 |
|
|
PolarDB-O 所有版本 |
PolarDB-O 所有版本 |
|
9i、10g、11g、12c、18c、19c版本 自建Oracle(RAC或非RAC架构) |
|
|
|
自建SQL Server 2005、2008、2008R2、2012、2014、2016、2017版本 说明 暂不支持SQL Server Cluster或SQL Server AlwaysOn High Availability Group。
|
|
RDS SQL Server 2008、2008R2、2012、2014、2016、2017版本 |
|
|
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 |
自建Oracle(RAC或非RAC架构) 9i、10g、11g、12c、18c、19c版本 |
|
PolarDB兼容Oracle语法引擎 所有版本 |
|
|
RDS PPAS 9.3、10版本 |
|
|
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
|
RDS MySQL 所有版本 |
|
|
PolarDB MySQL 所有版本 |
|
|
DRDS 所有版本 说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
|
|
|
分析型数据库MySQL版(AnalyticDB MySQL) 2.0、3.0版本 |
|
|
|
|
|
|
|
说明 属于NoSQL数据库,无需结构迁移。
|
自建Redis(仅支持单机架构) 2.8、3.0、3.2、4.0、5.0版本 |
自建Redis(单机或集群架构) 2.8、3.0、3.2、4.0、5.0版本 |
说明 属于NoSQL数据库,无需结构迁移。
|
阿里云Redis实例(单机或集群架构) 社区版4.0、5.0版本 |
|
|
自建TiDB |
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
RDS MySQL 所有版本 |
|
|
PolarDB MySQL 所有版本 |
|
|
自建DB2 9.7、10.5版本 |
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
|
数据同步
数据同步功能帮助您实现数据源之间的数据实时同步,适用于数据异地多活、数据异地灾备、本地数据灾备、跨境数据同步、查询与报表分流、云BI及实时数据仓库等多种业务场景。下表列出了数据同步功能支持的数据库、同步初始化类型和同步拓扑。
下表中各类自建数据库(例如自建MySQL、Redis等)支持的部署位置如下:
- ECS上的自建数据库
- 通过专线/VPN网关/智能接入网关接入的自建数据库
- 无公网IP:Port的数据库(通过数据库网关DG接入)
- 通过云企业网CEN接入的自建数据库
源数据库 | 目标数据库 | 初始化类型 | 同步拓扑 |
---|---|---|---|
|
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
结构初始化 全量数据初始化 |
单向同步 双向同步 |
RDS MySQL 所有版本 |
结构初始化 全量数据初始化 |
单向同步 双向同步 |
|
PolarDB MySQL 所有版本 |
结构初始化 全量数据初始化 |
单向同步 |
|
云原生数据仓库AnalyticDB MySQL (原分析型数据库MySQL版) 2.0、3.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
云原生数据仓库AnalyticDB PostgreSQL (原分析型数据库PostgreSQL版) 4.3、6.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
Datahub 所有版本 |
结构初始化 | 单向同步 | |
Elasticsearch 5.5、6.3、6.7版本 |
结构初始化 全量数据初始化 |
单向同步 | |
MaxCompute 所有版本 |
结构初始化 全量数据初始化 |
单向同步 | |
自建Kafka 0.10、1.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
DRDS
所有版本 说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
|
DRDS
所有版本 说明 DRDS中的数据库须基于RDS MySQL创建,DTS暂不支持基于PolarDB MySQL创建的数据库。
|
全量数据初始化 | 单向同步 |
Datahub 所有版本 |
结构初始化 | 单向同步 | |
云原生数据仓库AnalyticDB MySQL (原分析型数据库MySQL版) 2.0、3.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
云原生数据仓库AnalyticDB PostgreSQL (原分析型数据库MySQL版) 4.3、6.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
PolarDB MySQL 所有版本 |
自建MySQL 5.1、5.5、5.6、5.7、8.0版本 |
结构初始化 全量数据初始化 |
单向同步 |
RDS MySQL 所有版本 |
结构初始化 全量数据初始化 |
单向同步 | |
PolarDB MySQL 所有版本 |
结构初始化 全量数据初始化 |
单向同步 | |
云原生数据仓库AnalyticDB MySQL (原分析型数据库MySQL版) 2.0、3.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
Datahub 所有版本 |
结构初始化 | 单向同步 | |
自建Kafka 0.10、1.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
Elasticsearch 5.5、6.3、6.7版本 |
结构初始化 全量数据初始化 |
单向同步 | |
MaxCompute 所有版本 |
结构初始化 全量数据初始化 |
单向同步 | |
PolarDB-O 所有版本 |
PolarDB-O 所有版本 |
结构初始化 全量数据初始化 |
单向同步 |
自建Kafka 0.10、1.0版本 |
结构初始化 全量数据初始化 |
单向同步 | |
|
云原生数据仓库AnalyticDB PostgreSQL (原分析型数据库PostgreSQL版) 4.3、6.0版本 |
全量数据初始化 | 单向同步 |
|
云原生数据仓库AnalyticDB PostgreSQL (原分析型数据库PostgreSQL版) 4.3、6.0版本 |
全量数据初始化 | 单向同步 |
|
|
全量数据初始化 说明 Redis属于NoSQL数据库,无需结构初始化。
|
单向同步 双向同步 说明 仅阿里云Redis企业版实例(5.0版本)间支持双向同步。
|
数据订阅
数据订阅功能旨在帮助用户获取自建MySQL、RDS MySQL、PolarDB MySQL、自建Oracle的实时增量数据,您可以根据自身业务需求自由消费增量数据,例如缓存更新策略、业务异步解耦、异构数据源数据实时同步及含复杂ETL的数据实时同步等多种业务场景。
说明
- 订阅的源数据库(例如自建MySQL、Oracle)的部署位置可以是ECS上的自建数据库、通过专线/VPN网关/智能网关接入的自建数据库、无公网IP:Port的数据库(通过数据库网关DG接入)或有公网IP的自建数据库。
源数据库 | 支持订阅的数据类型 |
---|---|
自建MySQL 5.1、5.5、5.6、5.7或8.0版本 |
|
RDS MySQL 所有版本 |
|
PolarDB MySQL 所有版本 |
|
自建Oracle(非RAC架构) 9i、10g、11g或12c版本 |
数据迁移和数据同步的区别是什么?
对比项 | 数据迁移 | 数据同步 |
---|---|---|
适用场景 | 主要用于上云迁移,例如将本地数据库、ECS上的自建数据库或第三方云数据库迁移至阿里云数据库。
它属于一次性任务,迁移完成后即可释放实例。 |
主要用于两个数据源之间的数据实时同步,适用于异地多活、数据灾备、跨境数据同步、查询与报表分流、云BI及实时数据仓库等场景。
它属于持续性任务,任务创建后会一直同步数据,保持数据源和数据目标的数据一致性。 |
支持的数据库部署位置 |
|
说明 数据同步基于内网传输,可以保证更低的网络延时。
|
功能特性差异 |
|
|
计费方式 | 仅支持按量付费。 | 支持按量付费和包年包月。 |
计费规则 | 仅在增量数据迁移正常运行期间计费(包含增量数据迁移暂停期间),结构迁移和全量数据迁移期间不计费。 |
|
同步延迟的计算规则是什么?
目标数据库同步的最新数据的时间戳和源数据库当前时间戳的时间差,单位为毫秒。
为什么数据同步的价格普遍高于数据迁移?
数据同步具有更多的高级特性,例如在线调整同步对象、MySQL双向同步,且数据同步基于内网传输,可以保证更低的网络延时。
是否支持DML或DDL操作的实时迁移或同步?
支持,关系数据库之间的数据迁移或同步,支持的DML操作为INSERT、UPDATE、DELETE,支持的DDL操作为CREATE、DROP、ALTER、RENAME、TRUNCATE。
DTS是否支持分库分表的数据迁移或数据同步?
支持,例如将MySQL、PolarDB MySQL中的分库分表迁移或同步到AnalyticDB for MySQL中,以实现多表归并。
DTS是否支持跨时区或字符集的数据迁移或数据同步?
支持。
是否支持更改数据迁移或数据同步的对象在目标库中的名称?
支持,DTS支持库名、表名、列名的名称映射。
是否支持过滤部分字段或数据?
支持,DTS支持过滤数据表的部分字段或数据。
数据同步是否支持新增或移除同步对象?
支持。
如何消费订阅的数据?
通过kafka client实现订阅数据的消费。