读取修复(三)

来源:互联网 发布:徽标在线制作软件 编辑:程序博客网 时间:2024/06/06 01:49

读取修复:在读取路径期间修复

读取修复可以提高每个读取请求在Cassandra集群的一致性。

在读取中,协调器节点向一个副本节点发送数据请求,并将请求消化到其他一致性级别(CL)以上的请求ONE。如果所有节点都返回一致的数据,则协调器将其返回给客户端。有关Cassandra如何处理副本之间不一致的说明,请参阅如何完成读取请求?。

在读取修复中,Cassandra发送一个摘要请求给每个不直接涉及读取的副本。Cassandra比较所有副本,并将最新版本写入任何没有它的副本节点。如果查询的一致性级别 高于ONECassandra,那么在数据返回给客户端之前,Cassandra会在前台的所有副本节点上执行此过程。读取修复修复由读取查询的任何节点。这意味着对于一致性级别来说 ONE,没有数据被修复,因为没有进行比较。因为QUORUM只有查询接触的节点被修复,而不是所有的节点。

由于检查DTCS压缩中使用的时间戳的方法,无法在使用DateTieredCompactionStrategy的表上执行读取修复。如果你的表使用DateTieredCompactionStrategy,设置read_repair_chance为零。对于其他压实策略, read_repair_chance通常设置为0.2的值。

原创粉丝点击