分布式postgresql ID冲突处理
让我们假设我们有一个具有ID、内容和时间戳的分布式表。ID是散列(CONTENT),并且内容具有足够的确定性,可以在系统中的多个位置输入,彼此紧随其后 比如说发生了一件真实的事情。就像有人赢得了奥运会。然后它进入这个数据库的一个记录中,除了时间戳之外,它看起来总是一样的。因为每台机器观察事件的延迟略有不同 所以。当机器同步这个分布式表时,他们会想:“我们已经有了这个确切的ID!它也不是一行!我们该怎么办呢?”。我想以如下形式给他们答案:分布式postgresql ID冲突处理,sql,postgresql,merge,distributed,eventual-consistency,Sql,Postgresql,Merge,Distributed,Eventual Consistency,让我们假设我们有一个具有ID、内容和时间戳的分布式表。ID是散列(CONTENT),并且内容具有足够的确定性,可以在系统中的多个位置输入,彼此紧随其后 比如说发生了一件真实的事情。就像有人赢得了奥运会。然后它进入这个数据库的一个记录中,除了时间戳之外,它看起来总是一样的。因为每台机器观察事件的延迟略有不同 所以。当机器同步这个分布式表时,他们会想:“我们已经有了这个确切的ID!它也不是一行!我们该怎么办呢?”。我想以如下形式给他们答案:boolcompare(a行,b行)或者,最好是行合并(a行
boolcompare(a行,b行)
或者,最好是行合并(a行,b行)
有人知道怎么做吗?我只能找到与合并两个不同表相关的“合并”内容,而实际上这是同一个表,只是分布式的
对我来说,这对于使我的系统“最终一致”非常重要。我想利用postgresql的分布式数据库机制,因为它们非常可靠,我不想重写它们。postgresql没有“分布式数据库”功能。你不能重写它们或避免重写它们,因为它们不存在,我很好奇你从哪里得到可靠性信息
我能想到的最接近的tihng是,它通过冲突解决进行多主机复制
您可能也在考虑,但该项目旨在生成一个同步、一致、透明的多主集群,因此首先不会有冲突解决方案
还有Rubyrep;我对它了解不够,不知道它是否适合你的需要
在未来,PostgreSQL将支持类似于您所描述的东西,但目前它是alpha之前的质量,并且很可能最快进入PostgreSQL 9.5。Er,PostgreSQL没有“分布式数据库机制”。你在说什么数据库?(希望将来会这样;请参阅“多主机最终一致更新赢得复制”)这解释了为什么我找不到关于此主题的任何内容。这令人困惑。到底是哪种软件……这就提出了问题。哪个数据库允许我做我描述的事情?我应该编辑这个问题吗?我还是很困惑。您断言PostgreSQL的“分布式数据库机制……非常可靠”。如果它没有任何功能,并且你找不到关于不存在的功能的任何信息,那么你基于什么呢?也许你在想,一个尝试添加多主透明集群的分支?不过,这不是你所描述的。或者你正在看一个在PostgreSQL上运行的第三方工具?这更接近你所说的。我还没有听到关于PostgreSQL可靠性的负面报道。因此,我断言它的分布式机制是非常好和可靠的。我还想阻止人们建议使用NoSQL数据库和类似的“我不想要什么”的替代方案。我还没有听到关于PostgreSQL可靠性的负面报道。因此,我断言它的分布式机制是非常好和可靠的。我还想阻止人们建议使用NoSQL数据库和类似的“我不想要什么”的替代方案。谢谢!我想布卡多就是我想要的。它仍然有点有限,但似乎是我想要的。@Lodewijk酷。在未来,希望BDR能满足您的需求,但它还没有准备好。