数据传输DTS中目标数据库人工添加了数据,源还能继续向目标迁移吗?另外DTS支持双向同步吗?
您好,对于第一个问题,回答:同步或迁移期间不允许有除DTS外的数据写入目标库,否则会导致源库与目标库数据不一致。
例如,有除DTS外的数据写入目标库时,使用DMS执行在线DDL变更,可能引起目标库数据丢失。
对于第二个问题,回答:
不同的同步方式有不同的条件限制,需要根据源库和目标库数据库类型参考文档查看是否支持双向同步,详细的支持双向同步源库和目标库的内容可以参考文档:文档
比如源库为自建MySQL5.1、5.5、5.6、5.7、8.0版本以及RDS MySQL所有版本,不同目标库对于双向同步的支持是不同的
比如源为PolarDB MySQL版,不同目标库支持的同步方案
确实,数据传输服务DTS(Data Transmission Service)支持两个数据库之间的双向数据实时同步,无论是确实,数据传输服务DTS(Data Transmission Service)支持两个数据库之间的双向数据实时同步,无论是关系型数据库管理系统(RDBMS)、NoSQL数据库、还是联机分析处理(OLAP)数据库。这种特性使得DTS非常适合在异地多活(单元化)、数据异地容灾等多种应用场景中使用。
然而,需要注意的是,当您在目标数据库中手动添加数据后,源数据库是否能继续向目标数据库迁移取决于具体的迁移任务设置。如果源数据库和目标数据库的结构存在差异,那么这种差异可能会导致数据迁移失败。因此,如果您在目标数据库中添加了新的数据表或者修改了原有的数据表结构,您需要重新配置迁移任务以适应这些变化。
此外,双向同步任务时,DTS会在源和目标库中建立dts数据库,以避免数据循环同步。在任务运行期间,您不应修改该库。因为dts库可能会影响MySQL正常的主备同步,建议检查备库中是否存在dts库及相关表。若不存在,您需按照主库中dts的库表结构手动在备库中创建。
数据传输DTS支持双向同步。这意味着源数据库和目标数据库之间的数据可以双向传输。
如果目标数据库中已经有人工添加的数据,源数据库仍然可以继续向目标迁移数据。但是,需要注意以下几点:
目标库有其他业务写入时,源会继续往目标库写数据,如果源库和目标库表的数据要求是一致的,需要保证任务运行期间目标库无其他业务写入。如果目标库有其他业务写入可能会导致写入的数据相互冲突,最总导致源和目标数据不一致,因为在全量期间目标库遇到与源库主键值相同的记录时,源库中的该条记录不会同步至目标库中。在增量期间目标库遇到与源库主键值相同的记录时会覆盖写入,写入最近一次主键值相同的记录;需要提供下源和目标库数据库类型来看是否支持 ,此回答整理自钉群“DTS客户交流群-2”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。