算法 – Cassandra中Paxos与W R> = N的区别是什么?

类似Dynamo的数据库(例如Cassandra)可以通过仲裁来强制实现一致性,即应该选择多个同步写入的副本(W)和多个要读取的副本(R)的副本,使得W R> N,其中N是一个复制因素。另一方面,诸如Zookeeper的基于PAXOS的系统也被用作一致的容错存储。

这两种方法有什么区别? PAXOS是否提供W R> N架构不提供的保证?

Paxos是非常简单的实现,并且昂贵到足够多,使用它的系统也使用提示,或者我们只是为了领导选举,或某事。然而,它确实提供了在故障存在的情况下保证一致性 – 当然也受到其特定故障模型的限制。

我看到的第一个基于法定人数的系统假定了某种领导者或交易基础设施,这将确保足够的一致性,使您可以信任法定机制。这个基础设施可能是基于Paxos的。

看看像https://cloudant.com/blog/dynamo-and-couchdb-clusters/这样的描述,Dynamo似乎并不是基于一个保证其法定制度一致性的基础设施 – 那么它是非常聪明的还是切入的?根据http://muratbuffalo.blogspot.co.uk/2010/11/dynamo-amazons-highly-available-key.html,“发电机系统强调可靠性在一定程度上牺牲一致性,摘要”Dynamo在某些故障情景下牺牲一致性“,实际上,即使在没有故障的情况下,Dynamo即将牺牲一致性,Dynamo也可能成为存在多个并发写请求时不一致,因为由于多个协调器,副本可能会分歧。 (结束报价)

因此,在Dynamo实施的法定人数情况下,Paxos提供更强的可靠性保证。

相关文章
相关标签/搜索