|
原帖由 tom_fans 于 2010-12-1 17:29 发表 ![]()
任何一种同步工具,尤其是share nothing的,问题不在于如何建立,而在于如何容错。
一个简单的例子:
A server: insert into table values(1); 然后A 准备传送此语句
B server: update table where id=2; 传送过去了,A应用
A传送insert into,B应用。
很显然,A的数据id全部更新了,但是B有一条新插入的数据没更新。 A,B数据明显不一致。 如何处理?
--------------------------------------------------------------
都不知道该说你什么好,你根本没有仔细看OGG的资料。
OGG只对已经提交的交易进行交易进行分析。其次,OGG根本不是类似QUEST一样直接复制SQL语句的,而是SQL语句执行后发生变化的数据!
最后A-A的模式和完整意义的双业务中心是两个概念!
OGG只是在避免了双向交易复制过程的死循环的问题,要配真正完整意义的双业务中心,要考虑的问题很多,不单是数据库的表定义,业务逻辑都要考虑的。 |
|