Cassandra的副本策略

我们知道Cassandra会将数据写多个副本。但是Cassndra如何将数据写入多个副本的那?这就是Cassandra的副本策略。

Cassandra有一个特性叫做Tunable Consistency,用来控制副本策略。我们可以为每个读写操作设置consistency level,也可以设置全局的consistency level。

Consistencly Level分为write consistency level和read consistency level。

Write consistency level并不控制写入副本的数量。对于写操作,coordinator会向所有副本发起写入操作,并且等待副本写入成功的通知,write consistency level用来指定收到多少个写入成功的通知后,就会通知client写入成功。

Read consistency level用来指定成功读取多少个副本数据成功后返回给client。

如果,我们

  • 用N表示副本数
  • 用W表示write consistency level
  • 用R表示read consistency
    我们可以得到Cassandra的如下特性。

当W+R>N时,系统所有的副本保持强一致性,保证读写操作的可靠性(Reliability)。

当W+R=< N,系统的所有副本保持最终一致性,不能保证的读写操作的可靠性,数据有可能丢失。

虽然当W+R>N时,副本保持强一致,但是Cassandra系统本身并不会变成强一致的系统。(在< Tunable Consistency不能让Cassandra成为CP系统>这个文章中讨论了这个问题)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值