为保障数据同步作业的正常运行,DTS对不同的数据库存在使用上的限制。

注意事项

为保障DTS可以正常读取源库的库表信息、连接源和目标库,在配置或修改数据同步作业时,源库和目标库不能处于升级、变配、网络切换、跨可用区迁移等状态,即源库和目标库须处于正常运行的状态。

说明 源库和目标库包括但不限于阿里云数据库、自建数据库或友商云数据库。

源库为MySQL

使用限制 超出限制产生的影响
数据库所属的服务器需具备足够的出口带宽。 影响数据和Binlog读取速度和数据同步的延迟。
请勿在链路创建阶段执行库/表结构变更的DDL操作。 数据同步链路建立失败。
Binlog需是开启状态,并满足以下要求:
  • binlog_format设置为row。
  • binlog_row_image设置为full。

DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。

Binlog日志应至少保留24小时(建议3天以上)。 当链路由于不可控因素中断,可能由于Binlog的缺失导致链路无法被恢复。
用于数据同步的账号需具备REPLICATION SLAVER、REPLICATION CLIENT及所有待同步对象的SELECT权限。

DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。

源库为自建库时,请勿在数据同步期间执行主备切换。 可能影响主库性能。例如在配置数据同步时,提供的是从库的连接信息,执行主备切换后该从库可能会成为主库,从而影响主库性能。

源库为DRDS

使用限制 超出限制产生的影响
DRDS中的数据库须基于RDS MySQL(5.x版本)创建,DTS暂不支持基于RDS MySQL(8.0版本)和PolarDB MySQL创建的数据库。 无法完成数据同步作业的配置。
数据同步期间,请勿对DRDS实例中的数据库执行扩容或缩容操作。 数据同步失败。
不支持DDL语句的同步。 数据同步失败。

源库为PostgreSQL

使用限制 超出限制产生的影响
请勿在数据同步期间执行主备切换(社区版)。 可能造成数据同步失败。
用于数据同步的账号需具备schema的owner权限。

DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。

不支持同步数组。 可能造成数据同步失败。

源库为Redis

使用限制 超出限制产生的影响
数据同步的过程中,请勿执行Resharding操作。 目标库和源库的数据不一致。
数据同步的过程中,请勿执行FLUSHDB、FLUSHALL或SWAPDB命令。 目标库和源库的数据不一致。
请勿大量执行SCRIPT命令。 同步延迟上升。
用于数据同步的账号需具备sync/psync权限。

DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。

同步链路延时无法恢复时,会执行RDB的重新同步。 丢失执行过的删除操作。

目标库为MySQL

使用限制 超出限制产生的影响
仅支持同步部分DDL语句:
  • ALTER TABLE、ALTER VIEW
  • CREATE FUNCTION、CREATE INDEX、CREATE PROCEDURE、CREATE TABLE、CREATE VIEW
  • DROP INDEX、DROP TABLE
  • RENAME TABLE
  • TRUNCATE TABLE
如果源库执行了不支持的DDL操作,将导致数据同步失败。

目标库为DRDS

使用限制 超出限制产生的影响
DRDS中的数据库须基于RDS MySQL(5.x版本)创建,DTS暂不支持基于RDS MySQL(8.0版本)和PolarDB MySQL创建的数据库。 无法完成数据同步作业的配置。
不支持DDL语句的同步。 数据同步失败。

目标库为PostgreSQL

使用限制 超出限制产生的影响
不支持DDL语句的同步。 数据同步失败。

目标库为Redis

使用限制 超出限制产生的影响
在数据同步的过程中,请勿执行FLUSHDB、FLUSHALL或SWAPDB命令(集群架构)。 数据不一致。
在执行全量初始化时,需要保证Redis库中没有数据(Redis社区版、阿里云Redis社区版)。 集合类型数据不一致。

目标库为分析型数据库MySQL版(2.0)

使用限制 超出限制产生的影响
表名不能以下划线(_)开头。

DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。

支持同步的DDL语句:仅ADD COLUMN。 数据同步失败。
同步对象不是整库时,源库不可执行Online DDL操作。 数据同步失败(提示某张临时表不存在或者已经存在)。
同步的库或列名不能包含保留的名称,详情请参见保留字 数据同步失败。
待同步的数据表必须具备主键,且主键的值不能为Null。 数据同步失败或无法启动数据同步作业。
源中不能包含分析型数据库MySQL版不支持的非法值。 数据同步失败。
FLOAT类型不支持精度和范围。 同步后的数据不一致。
不支持UNSIGNED定义、不支持Decimal类型、时间类型不兼容MySQL。 数据同步失败。
默认值定义不能与MySQL兼容差距太大。 数据同步失败。
列最大长度默认限制为8MB。 数据同步失败。

目标库为分析型数据库MySQL版(3.0)

使用限制 超出限制产生的影响
最多支持1024张表。 数据同步失败。
支持同步的DDL语句:CREATE TABLE、DROP TABLE、ALTER TABLE、RENAME TABLE、TRUNCATE TABLE、ADD COLUMN、DROP COLUMN。 数据同步失败。
同步对象不是整库时,源库不可执行Online DDL操作。 数据同步失败(提示某张临时表不存在或者已经存在)。
待同步的数据表必须具备主键,且主键的值不能为Null。 数据同步失败或无法启动数据同步作业。
源中不能包含分析型数据库MySQL版不支持的非法值。 数据同步失败。
部分非法值处理,分析型数据库MySQL版(3.0)与MySQL不兼容。 数据同步失败。
列最大长度默认限制为16MB。 数据同步失败。

目标库为MaxCompute

使用限制 超出限制产生的影响
支持同步的DDL语句:ALTER TABLE、ADD COLUMN。 数据同步失败。

目标库为Datahub

使用限制 超出限制产生的影响
数据同步阶段过滤DDL语句,不会将DDL操作同步到目标库。 不涉及

目标库为Kafka

使用限制 超出限制产生的影响
数据同步阶段过滤DDL语句,不会将DDL操作同步到目标库。 不涉及