Cassandra的一致性水平

时间:2018-01-03 10:09:04

标签: apache cassandra cassandra-3.0

根据我对Cassandra的完整分析,我想出了下面的图表,有人可以说它是否是完美的,如果出现问题请告诉我。

enter image description here

2 个答案:

答案 0 :(得分:1)

正如我之前所说 - 您不需要考虑群集中的节点数量(也就是说,您的群集有足够的节点来选择复制因子)。

群集可以容忍的节点故障数量仅由复制因子和所需的一致性级别定义(您可以在表中对其进行播种)。此外,我建议在几乎所有情况下都不要选择TWO或THREE的一致性级别,因为我的经验ONE或QUOURUM通常足够合适,您可以在正在运行的集群上更改复制因子而不会影响应用程序行为。

您是否注意到您的推荐有一个例外CL.QUROUM?

最后一点 - 您应该考虑您真正需要多少一致性。

答案 1 :(得分:1)

有一种算法。那就是:

RF > WC + RC
RF = Replication factor  
WC = Write consistency   
RC = Read consistency

这意味着,如果您以这种方式进行设计,其中复制因子大于读取一致性和写入一致性的总和,则无需担心数据一致性。

例如:如果您的数据RF = 3,WC = 2,RC = 1,您在阅读时可能无法获得更新的数据。但如果你把它设为WC = 2,RC = 2,那么很有可能无法获得更新的数据。

因此,要确定一致性水平,请根据需要做出决定。但是确保执行查询以保持RF> WC + RC。
您将在此处获得详细说明:https://docs.datastax.com/en/cassandra/2.1/cassandra/dml/dml_config_consistency_c.html