OGG DELETEROWEXISTS UPDATEROWEXISTS 冲突说明
COMPARECOLS and RESOLVECONFLICT DELETEROWEXISTS UPDATEROWEXISTS
RESOLVECONFLICT 解决ogg数据同步时遇到的数据不一致性冲突:
数据强一制性需求:
我们不能在replicate中配置遇到同步错误时忽略跳过,这会导致源端和目标端的数据不一致:
reperror default,discard
REPERROR (-1, IGNORE)
对于OGG的RESOLVECONFLICT的几种情况:
INSERTROWEXISTS UPDATEROWMISSING DELETEROWMISSING 这三种冲突的情况很好理解
对于DELETEROWEXISTS UPDATEROWEXISTS这两种冲突的情况,第一次解读时带着疑问:删除的时候行存在,更新的时候行存在不是正常的情况吗?怎么会有冲突?
正常情况下,删除的时候行存在,更新的时候行存在是没有冲突的,执行操作就是了,那有没有异常的情况呢?答案是有的,就是数据的强一致性要求但是数据不一致的情景。
官方的解释如下:
UPDATEROWEXISTS
An updated row exists on the target, but one or more columns have a before image in the trail that is different from the current value in the datab