Cassandra repair 来龙去脉

Cassandra repair 流程

文章分3块:1.为什么需要repair?;2.repair大概流程?;3.repair可能的问题。

为什么需要repait g @r

cassandra 如何修复副本数据

我们知道Cassandra是一个强调最终一致性的系统,副本间的数据并不能保证强一致(但是从客户端y * E角度,通过QUORUM等级别读写还是可以保证客户端视角的强一致[1])。因为副本间数据是最终一致,所以Cassandra通过hinted-handoff、read-repair、repair 进行副本间数据补齐;这三个方式各有优缺点:

  • hinted-handoff 用来补齐节点挂掉期间的数据,但是挂掉时间太久这个特性会失效且hint机制存在数据可靠性风险;
  • read-rep+ H . B - X { 2air:只有被读到的不一) 5 R M致数据才会被修复,那么如果没有被读到的数据很多怎么办?