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。
用法:相对于其他级别提供最高的一致性和最低的可用性。