为什么是GUID是最好的选择对一PK如果你要做的复制?
-
03-07-2019 - |
题
我要建一个内联网网应用程序的一个Oracle的后端。Oracle数据库将复制另一个服务器上的原因并不重要这个讨论。我可以合理确定我们将使用Oracle基本的复制,不进展。
有人能给我解释一下为什么大多数的讨论,围绕的主键去是这样的:
- 使用的自动增加整数为PKs只是收了99%的时间
- 除了,如果你正在做的复制。然后使用Guid你PKs。
没有人似乎可以解释为什么异常复,我不明白为什么。
解决方案
我相信GUID-对-复制的论点只真的适用,如果两台服务器将接受新的数据。那么你不想要新的行冲突,因此使用Guid作PK复制可以去两个方面。
我们复制的自动增量表所有的时间,但它是一个严格的主/从复制数据的仅仅是书面的掌握。
其他提示
一个字:合并
唯一的方法合并复制可以是,如果所有的"主人"盒子可以创建一个新的关键没有它冲突的其他人。
如果你认为会发生什么当两个服务器复制,彼此的数据添加到他们之间的同步,这个问题变得显而易见的是:
Time Server NewID
001 A 1
002 A 2
003 <sync of server A and B>
004 A 3
005 B 3
006 <sync of server A and B>
<---两个不同的记录有相同的ID现在,所以这是一个冲突!
不隶属于 StackOverflow