为保障数据同步作业的正常运行,DTS对不同的数据库存在使用上的限制。
注意事项
为保障DTS可以正常读取源库的库表信息、连接源和目标库,在配置或修改数据同步作业时,源库和目标库不能处于升级、变配、网络切换、跨可用区迁移等状态,即源库和目标库须处于正常运行的状态。
源库为MySQL
使用限制 | 超出限制产生的影响 |
---|---|
数据库所属的服务器需具备足够的出口带宽。 | 影响数据和Binlog读取速度和数据同步的延迟。 |
请勿在链路创建阶段执行库/表结构变更的DDL操作。 | 数据同步链路建立失败。 |
Binlog需是开启状态,并满足以下要求:
|
DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。 |
建议在任务运行期间,源库的Binlog日志至少保留7天以上(为保障数据安全,DTS本地只会循环存储源库近24小时或者50 GB的Binlog日志,一旦超出该限制,DTS本地将自动清除所缓存的日志)。 |
过早清理源库的Binlog日志,可能会导致同步任务失败。例如源库的全量初始化数据较多,目标库写入异常等原因,导致全量初始化耗时超过24小时。在该情况下,过早清理源库的Binlog日志,DTS将无法获取到24小时前的Binlog日志,可能会导致同步任务失败。 |
用于数据同步的账号需具备REPLICATION SLAVER、REPLICATION CLIENT及所有待同步对象的SELECT权限。 |
DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。 |
源库为自建库时,请勿在数据同步期间执行主备切换。 | 可能影响主库性能。例如在配置数据同步时,提供的是从库的连接信息,执行主备切换后该从库可能会成为主库,从而影响主库性能。 |
源库为DRDS
使用限制 | 超出限制产生的影响 |
---|---|
DRDS中的数据库须基于RDS MySQL(5.x版本)创建,DTS暂不支持基于RDS MySQL(8.0版本)和PolarDB MySQL创建的数据库。 | 无法完成数据同步作业的配置。 |
数据同步期间,请勿对DRDS实例中的数据库执行扩容或缩容操作。 | 数据同步失败。 |
不支持DDL语句的同步。 | 数据同步失败。 |
建议在任务运行期间,源库的Binlog日志至少保留7天以上(为保障数据安全,DTS本地只会循环存储源库近24小时或者50 GB的Binlog日志,一旦超出该限制,DTS本地将自动清除所缓存的日志)。 |
过早清理源库的Binlog日志,可能会导致同步任务失败。例如源库的全量初始化数据较多,目标库写入异常等原因,导致全量初始化耗时超过24小时。在该情况下,过早清理源库的Binlog日志,DTS将无法获取到24小时前的Binlog日志,可能会导致同步任务失败。 |
源库为PostgreSQL
使用限制 | 超出限制产生的影响 |
---|---|
请勿在数据同步期间执行主备切换(社区版)。 | 可能造成数据同步失败。 |
用于数据同步的账号需具备schema的owner权限。 |
DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。 |
不支持同步数组。 | 可能造成数据同步失败。 |
建议在任务运行期间,源库的数据日志至少保留7天以上(为保障数据安全,DTS本地只会循环存储源库近24小时或者50 GB的数据日志,一旦超出该限制,DTS本地将自动清除所缓存的日志)。 |
过早清理源库的数据日志,可能会导致同步任务失败。例如源库的全量初始化数据较多,目标库写入异常等原因,导致全量初始化耗时超过24小时。在该情况下,过早清理源库的数据日志,DTS将无法获取到24小时前的数据日志,可能会导致同步任务失败。 |
源库为Redis
使用限制 | 超出限制产生的影响 |
---|---|
数据同步的过程中,请勿执行Resharding操作。 | 目标库和源库的数据不一致。 |
数据同步的过程中,请勿执行FLUSHDB、FLUSHALL或SWAPDB命令。 | 目标库和源库的数据不一致。 |
请勿大量执行SCRIPT命令。 | 同步延迟上升。 |
用于数据同步的账号需具备sync/psync权限。 |
DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。 |
同步链路延时无法恢复时,会执行RDB的重新同步。 | 丢失执行过的删除操作。 |
建议在任务运行期间,源库的数据日志至少保留7天以上(为保障数据安全,DTS本地只会循环存储源库近24小时或者50 GB的数据日志,一旦超出该限制,DTS本地将自动清除所缓存的日志)。 |
过早清理源库的数据日志,可能会导致同步任务失败。例如源库的全量初始化数据较多,目标库写入异常等原因,导致全量初始化耗时超过24小时。在该情况下,过早清理源库的数据日志,DTS将无法获取到24小时前的数据日志,可能会导致同步任务失败。 |
目标库为MySQL
使用限制 | 超出限制产生的影响 |
---|---|
仅支持同步部分DDL语句:
|
如果源库执行了不支持的DDL操作,将导致数据同步失败。 |
目标库为DRDS
使用限制 | 超出限制产生的影响 |
---|---|
DRDS中的数据库须基于RDS MySQL(5.x版本)创建,DTS暂不支持基于RDS MySQL(8.0版本)和PolarDB MySQL创建的数据库。 | 无法完成数据同步作业的配置。 |
不支持DDL语句的同步。 | 数据同步失败。 |
目标库为PostgreSQL
使用限制 | 超出限制产生的影响 |
---|---|
不支持DDL语句的同步。 | 数据同步失败。 |
目标库为Redis
使用限制 | 超出限制产生的影响 |
---|---|
在数据同步的过程中,请勿执行FLUSHDB、FLUSHALL或SWAPDB命令(集群架构)。 | 数据不一致。 |
在执行全量初始化时,需要保证Redis库中没有数据(Redis社区版、阿里云Redis社区版)。 | 集合类型数据不一致。 |
目标库为分析型数据库AnalyticDB MySQL(2.0)
使用限制 | 超出限制产生的影响 |
---|---|
表名不能以下划线(_)开头。 |
DTS将在预检查阶段报错并给出相关提示,且无法成功启动数据同步作业。 |
支持同步的DDL语句:仅ADD COLUMN。 | 数据同步失败。 |
同步对象不是整库时,源库不可执行Online DDL操作。 | 数据同步失败(提示某张临时表不存在或者已经存在)。 |
同步的库或列名不能包含保留的名称,详情请参见保留字。 | 数据同步失败。 |
待同步的数据表必须具备主键,且主键的值不能为Null。 | 数据同步失败或无法启动数据同步作业。 |
源中不能包含分析型数据库MySQL版不支持的非法值。 | 数据同步失败。 |
FLOAT类型不支持精度和范围。 | 同步后的数据不一致。 |
不支持UNSIGNED定义、不支持Decimal类型、时间类型不兼容MySQL。 | 数据同步失败。 |
默认值定义不能与MySQL兼容差距太大。 | 数据同步失败。 |
列最大长度默认限制为8MB。 | 数据同步失败。 |
目标库为云原生数据仓库AnalyticDB MySQL版(3.0)
使用限制 | 超出限制产生的影响 |
---|---|
最多支持1024张表。 | 数据同步失败。 |
支持同步的DDL语句:CREATE TABLE、DROP TABLE、ALTER TABLE、RENAME TABLE、TRUNCATE TABLE、ADD COLUMN、DROP COLUMN。 | 数据同步失败。 |
同步对象不是整库时,源库不可执行Online DDL操作。 | 数据同步失败(提示某张临时表不存在或者已经存在)。 |
待同步的数据表必须具备主键,且主键的值不能为Null。 | 数据同步失败或无法启动数据同步作业。 |
不支持UNSIGNED定义。 | 数据同步失败。 |
源中不能包含分析型数据库MySQL版不支持的非法值。 | 数据同步失败。 |
部分非法值处理,分析型数据库MySQL版(3.0)与MySQL不兼容。 | 数据同步失败。 |
列最大长度默认限制为16MB。 | 数据同步失败。 |
目标库为MaxCompute
使用限制 | 超出限制产生的影响 |
---|---|
支持同步的DDL语句:ALTER TABLE、ADD COLUMN。 | 数据同步失败。 |
目标库为Datahub
使用限制 | 超出限制产生的影响 |
---|---|
数据同步阶段过滤DDL语句,不会将DDL操作同步到目标库。 | 不涉及 |
目标库为Kafka
使用限制 | 超出限制产生的影响 |
---|---|
数据同步阶段过滤DDL语句,不会将DDL操作同步到目标库。 | 不涉及 |
在文档使用中是否遇到以下问题
更多建议
匿名提交