我要建一个内联网网应用程序的一个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现在,所以这是一个冲突!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top