You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Cassandra中R+W>N强一致性规则的疑问与求证

关于Cassandra强一致性条件R + W > N的疑问与分析

背景说明

Datastax提出,Cassandra中当读写一致性级别满足R + W > N时,读写操作具备强一致性,各参数定义:

  • R:读操作的一致性级别
  • W:写操作的一致性级别
  • N:副本集群的节点数量

矛盾场景举例(N=3,R=3,W=1)

假设集群有3个副本节点,其中两个节点持有最新数据,一个节点数据过期:

nodeA k1 -> v_new
nodeB k1 -> v_new
nodeC k1 -> v_old

此时设置R=3、W=1,满足3+1>3的条件,但执行如下更新语句:

UPDATE my_table SET my_count = my_count + 1 WHERE id = my_primary_key

若该更新仅被持久化到nodeC,最终nodeC的值会变为v_old + 1,而非预期的v_new + 1,出现数据不一致问题。

对强一致性条件的探讨

是否强一致性需要满足更严格的约束?比如:

R > N / 2 + 1
W > N / 2 + 1 

具体要求为:

  • 读取操作需从至少N/2+1个节点获取数据,确保能拿到最新版本
  • 写入操作需先从至少N/2+1个节点读取最新值,再将更新同步至法定数量的节点

内容的提问来源于stack exchange,提问作者olaf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 10:27:26