【发布时间】:2016-04-03 10:41:00
【问题描述】:
我们在五个节点上安装了 Datastax,在五个节点上启用了搜索,复制因子为 3。将 590 行添加到表中并从节点 1 中选择后,它检索到 590。当从其他节点中选择时,数字从570 到 585 行。
我尝试在 cqlsh 上使用 CONSISTENCY QUORUM,但没有任何改变。并且 CONSISTENCY QUORUM 不支持 solr_query。
有没有办法确保写入 Cassandra 的所有数据都按原样释放?
【问题讨论】:
-
如果要保证一致性,公式为(nodes_written + nodes_read) > replication_factor。你可以阅读here
-
感谢 LHWizard,关于我的情况,nodes_written 是五个,nodes_reads 也是五个?或者我该如何计算它们?
-
您通常会在客户端中指定一致性级别 (CL),因此如果您在 CL = quorum 时写入,则至少 2 个节点(当您的 RF = 3 时为 quorum)必须确认写入。如果您随后在 CL = quorum 处读取,则至少 2 个节点必须确认请求才能成功。这里我们的节点写入 = 2,节点读取 = 2,RF = 3。因此 2 + 2 > 3 和一致性是有保证的。
标签: datastax consistency