千家信息网

Cassandra 读写一致性(Consistency)详解

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Consistency此命令显示当前的一致性级别,或设置新的一致性级别。Consistency可以理解读和写操作的Consistency Level写操作的consistency level指定了写操
千家信息网最后更新 2026年11月02日Cassandra 读写一致性(Consistency)详解

Consistency

此命令显示当前的一致性级别,或设置新的一致性级别。
Consistency可以理解读和写操作的Consistency Level
写操作的consistency level指定了写操作在通知客户端请求成功之前,必须确保已经成功完成写操作的replica的数量。

QUORUM级别

QUORUM级别确保数据写到指定quorum数量的节点。一个quorum的值由下面的公式四舍五入计算而得:
(sum_of_replication_factors / 2) + 1
sum_of_replication_factors指每个数据中心的所有replication_factor设置的总和。

级别:ANY
写操作:描述: 任意一个节点写操作已经成功。如果所有的replica节点都挂了,写操作还是可以在记录一个hinted handoff事件之后,返回成功。如果所有的replica节点都挂了,写入的数据,在挂掉的replica节点恢复之前,读不到。用法: 最小的延时等待,并且确保写请求不会失败。相对于其他级别提供最低的一致性和最高的可用性。
级别:ALL
读:描述:向所有replica节点查询数据,返回所有的replica返回的数据中,timestamp最新的数据。如果某个replica节点没有响应,读操作会失败。用法:相对于其他级别,提供最高的一致性和最低的可用性。写:描述:写操作必须将指定行的数据写到所有replica节点的commit log和memtable。用法:相对于其他级别提供最高的一致性和最低的可用性。
级别:EACH_QUORUM
读:描述:向每个数据中心内quorum数量的replica节点查询数据,返回时间戳最新的数据。用法:同LOCAL_QUORUM写:描述:写操作必须将指定行的数据写到每个数据中心的quorum数量的replica节点的commit log和memtable。用法:用于多数据中心集群严格的保证相同级别的一致性。例如,如果你希望,当一个数据中心挂掉了,或者不能满足quorum数量的replica节点写操作成功时,写请求返回失败。
级别:LOCAL_ONE
读:描述:返回本地数据中心内离coordinator节点最近的replica节点的数据。用法:同写操作Consistency level中该级别的用法。写:描述:任何一个本地数据中心内的replica节点写操作成功。用法:对于多数据中心的情况,往往期望至少一个replica节点写成功,但是,又不希望有任何跨数据中心的通信。LOCAL_ONE正好能满足这样的需求。
级别:LOCAL_QUORUM
读:描述:向每个数据中心内quorum数量的replica节点查询数据,返回时间戳最新的数据。避免跨数据中心的通信。用法:使用SimpleStrategy时会失败。写:描述:本地数据中心内quorum数量的replica节点写操作成功。避免跨数据中心的通信。用法:不能和SimpleStrategy一起使用。用于保证本地数据中心的数据一致性。
级别:LOCAL_SERIAL
读:描述:同SERIAL,但是只限制为本地数据中心。用法:同SERIAL。写:描述:本地数据中心内quorum数量的replica节点有条件地(conditionally)写成功。用法:用于轻量级事务(lightweight transaction)下实现linearizable consistency,避免发生无条件的(unconditional)更新。。
级别:ONE
读:描述:返回由snitch决定的最近的replica返回的结果。默认情况下,后台会触发read repair确保其他replica的数据一致。用法:提供最高级别的可用性,但是返回的结果不一定最新。写:描述:任意一个replica节点写操作已经成功。    满足大多数用户的需求。用法:一般离coordinator节点具体最近的replica节点优先执行。  
级别:QUORUM
读:描述:读取所有数据中心中quorum数量的节点的结果,返回合并后timestamp最新的结果。 用法:保证很强的一致性,虽然有可能读取失败。
级别:SERIAL
读:描述:允许读取当前的(包括uncommitted的)数据,如果读的过程中发现uncommitted的事务,则commit它。  用法:轻量级事务。
级别:TWO
读:  描述:返回两个最近的replica的最新数据。 用法:和ONE类似。
级别:THREE
读:描述:返回三个最近的replica的最新数据。 用法:和TWO类似。
参考地址:

https://docs.datastax.com/en/archived/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html

注意:

即使指定了consistency level ON或LOCAL_QUORUM,写操作还是会被发送给所有的replica节点,包括其他数据中心的里replica节点。consistency level只是决定了,通知客户端请求成功之前,需要确保写操作成功的replica节点的数量。

数据 节点 级别 数据中心 成功 数量 一致 一致性 最高 可用性 结果 最低 事务 保证 查询 通信 客户 客户端 情况 时间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 博彦科技互联网金融 河南云网互联网络科技有限公司 互联网科技产业 科技互联网技术 互联网科技革命 亿策互联网科技 北京互联网络科技有限公司 融贸通互联网科技 银川新华互联网科技学校地址 成都玖崟互联网科技有限公司乐商圈怎么样 中盈科技互联网信息有限公司 广州慧亚互联网科技怎么样 互联网系的金融科技公司 互联网经济与金融科技 彤创互联网科技有限公司 国大互联网教育科技有限公司工作 畅思互联网科技 允成互联网科技有限公司融资 中国科技和美国互联网 狮子座互联网科技有限公司 碳银互联网科技有限公司 国外互联网科技网站 须眉科技是互联网公司吗 乌苏新华互联网科技做什么的 互联网在线教育科技创业 保险科技服务互联网营销体系 国大互联网教育科技有限公司薪资 电子商务与互联网科技的关系 上海旺乐尼互联网科技有限公司
0