如果在更新传播到cassandra中的所有副本之前发生读取会发生什么?

时间:2016-04-21 13:03:21

标签: cassandra datastax

我知道答案是可调谐一致性。但任何人都可以举例说明我。我找不到真正的时间场景。在实施项目之前。 Plz解释了......对于单个集群和多集群

1 个答案:

答案 0 :(得分:0)

我不明白你的意思是多群集。所以,我会回答单个群集。

假设您有一个包含5个节点的C *群集,并且您的复制因子为5(在评论后从1开始编辑)。

当前状态是(x1,y1)

您有两项操作 更新(X1,Y2) 读(x1)

现在针对不同的一致性级别模式,

  1. READ QUORUM,WRITE QUORUM: 您总是从至少3个节点读取并始终写入至少3个节点。 所以你永远不会读旧数据。

  2. READ ONE,WRITE QUORUM: 您始终从1个节点读取并始终写入至少3个节点。 因此,您有2/5的机会阅读旧数据。

  3. READ ONE,WRITE ONE: 您始终从1个节点读取并始终写入至少1个节点。 因此,您有4/5的机会阅读旧数据。

  4. 如需更多模式,您可以查看这个精彩的工具。 http://www.ecyrd.com/cassandracalculator/

    希望它有所帮助!