更新时间:2024-11-26 gmt 08:00
实时灾备常见异常场景示例-九游平台
由于一些不可控原因,实时灾备在同时操作双边数据时,存在一定的数据不一致的可能性,本章节主要介绍常见的数据异常场景。以下场景均以dr1、dr2库进行示例。
场景一:双主灾备,双边同时操作同一行操作,导致多数据
- 初始数据如下图所示(seqno为主键,column1为非主键)。
图1 dr1、dr2库初始数据
- 双方数据库同时分别执行如下操作:
- dr1库:update dr1 set seqno=5 where column1=8;
- dr2库:update dr2 set seqno=6 where column1=8;
- 执行操作后,双方数据库数据一致,并且多数据。
图2 dr1、dr2库数据
场景二:双主灾备,同时操作双边数据库,导致数据不一致
- 初始数据如下图所示(seqno为主键,column1为非主键)。
图3 初始数据
- 双方数据库同时分别执行如下操作:
- dr1库:insert into dr1 values(101,100);
- dr2库:insert into dr2 values(101,102);
- 执行操作后,双方数据库数据如下图所示。
图4 dr1库数据图5 dr2库数据
场景三:双主灾备,业务期执行ddl操作,导致数据不一致
- 双方数据库同时分别执行如下操作:
- dr1库:truncate table dr1;
- dr2库:insert into dr2 values(5,5,5);
- 执行操作后,双方数据不一致,如下图所示。
图6 dr1库数据图7 dr2库数据
更多场景,持续补充中。
父主题:
相关文档
意见反馈
文档内容是否对您有帮助?
提交成功!非常感谢您的反馈,我们会继续努力做到更好!
您可在查看反馈及问题处理状态。
系统繁忙,请稍后重试
如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨