Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分布式postgresql ID冲突处理_Sql_Postgresql_Merge_Distributed_Eventual Consistency - Fatal编程技术网

分布式postgresql ID冲突处理

分布式postgresql ID冲突处理,sql,postgresql,merge,distributed,eventual-consistency,Sql,Postgresql,Merge,Distributed,Eventual Consistency,让我们假设我们有一个具有ID、内容和时间戳的分布式表。ID是散列(CONTENT),并且内容具有足够的确定性,可以在系统中的多个位置输入,彼此紧随其后 比如说发生了一件真实的事情。就像有人赢得了奥运会。然后它进入这个数据库的一个记录中,除了时间戳之外,它看起来总是一样的。因为每台机器观察事件的延迟略有不同 所以。当机器同步这个分布式表时,他们会想:“我们已经有了这个确切的ID!它也不是一行!我们该怎么办呢?”。我想以如下形式给他们答案:boolcompare(a行,b行)或者,最好是行合并(a行

让我们假设我们有一个具有ID、内容和时间戳的分布式表。ID是散列(CONTENT),并且内容具有足够的确定性,可以在系统中的多个位置输入,彼此紧随其后

比如说发生了一件真实的事情。就像有人赢得了奥运会。然后它进入这个数据库的一个记录中,除了时间戳之外,它看起来总是一样的。因为每台机器观察事件的延迟略有不同

所以。当机器同步这个分布式表时,他们会想:“我们已经有了这个确切的ID!它也不是一行!我们该怎么办呢?”。我想以如下形式给他们答案:
boolcompare(a行,b行)
或者,最好是
行合并(a行,b行)

有人知道怎么做吗?我只能找到与合并两个不同表相关的“合并”内容,而实际上这是同一个表,只是分布式的

对我来说,这对于使我的系统“最终一致”非常重要。我想利用postgresql的分布式数据库机制,因为它们非常可靠,我不想重写它们。

postgresql没有“分布式数据库”功能。你不能重写它们或避免重写它们,因为它们不存在,我很好奇你从哪里得到可靠性信息

我能想到的最接近的tihng是,它通过冲突解决进行多主机复制

您可能也在考虑,但该项目旨在生成一个同步、一致、透明的多主集群,因此首先不会有冲突解决方案

还有Rubyrep;我对它了解不够,不知道它是否适合你的需要


在未来,PostgreSQL将支持类似于您所描述的东西,但目前它是alpha之前的质量,并且很可能最快进入PostgreSQL 9.5。

Er,PostgreSQL没有“分布式数据库机制”。你在说什么数据库?(希望将来会这样;请参阅“多主机最终一致更新赢得复制”)这解释了为什么我找不到关于此主题的任何内容。这令人困惑。到底是哪种软件……这就提出了问题。哪个数据库允许我做我描述的事情?我应该编辑这个问题吗?我还是很困惑。您断言PostgreSQL的“分布式数据库机制……非常可靠”。如果它没有任何功能,并且你找不到关于不存在的功能的任何信息,那么你基于什么呢?也许你在想,一个尝试添加多主透明集群的分支?不过,这不是你所描述的。或者你正在看一个在PostgreSQL上运行的第三方工具?这更接近你所说的。我还没有听到关于PostgreSQL可靠性的负面报道。因此,我断言它的分布式机制是非常好和可靠的。我还想阻止人们建议使用NoSQL数据库和类似的“我不想要什么”的替代方案。我还没有听到关于PostgreSQL可靠性的负面报道。因此,我断言它的分布式机制是非常好和可靠的。我还想阻止人们建议使用NoSQL数据库和类似的“我不想要什么”的替代方案。谢谢!我想布卡多就是我想要的。它仍然有点有限,但似乎是我想要的。@Lodewijk酷。在未来,希望BDR能满足您的需求,但它还没有准备好。