通过数据传输服务(DTS)进行三个实例间的相互双向同步后,出现数据缺失。本文介绍如何避免这种情况的发生。

问题描述

通过DTS配置三个实例之间的双向同步后,发现数据出现缺失。例如下图所示的配置场景:

三个实例双向同步

可能原因

双向同步场景的关键在于防止数据回环,不适用于三个实例间的互相同步。以上图为例:DB1的数据通过DTS同步至DB2时,为防止数据回环至DB1,DTS会使用基于事务表的方式对事务进行打标,实现数据过滤。但同时,这部分被打标的数据也不会同步到DB3。因此,就出现了DB3缺少数据的情况。同理,DB3同步至DB2的数据,会出现DB1缺少数据的情况。

解决方法

请勿配置成上述同步场景。