replication - R + W > N 对 Cassandra 集群有什么影响?

标签 replication cassandra cluster-computing

This introduction to Cassandra Replication and Consistency (幻灯片 14-15)大胆断言:

R+W>N guarantees overlap of read and write quorums.

Please imagine this inequality has huge fangs, dripping with the blood of innocent, enterprise developers so you can best appreciate the terror it inspires.



我知道读取和写入一致性级别 (R+W) 的总和大于复制因子 (N) 是个好主意……但有什么大不了的?

有什么影响,R+W>N 与替代方案相比如何?
  • R+W < N
  • R+W = N
  • R+W >> N
  • 最佳答案

    我们试图解决的基本问题是:

    Can a situation occur in which a read doesn't return the most up-to-date value?



    显然,如果可能,最好避免这种情况!

    如果 R+W <= N,则可能发生这种情况。

    一次写入可以向一组节点发送一个新值,而随后的读取可以从一组完全独立的节点中读取,从而错过写入的新值。

    如果 R+W > N,则保证不会发生这种情况。

    有 N 个节点可能保存该值。写入至少联系 W 个节点 - 在每个节点上放置一个“写入”标签。后续读取至少联系 R 个节点 - 在每个节点上放置一个“读取”标签。有 R+W 贴纸但只有 N 个节点,所以至少一个节点必须有两个贴纸。即至少有一个节点同时参与读和写,因此能够将最新的写返回给读操作。

    R+W >> N 是不可能的。

    您可以读取或写入的最大节点数为 N(根据定义,复制因子)。所以我们最多可以有 R = N 和 W = N,即 R+W = 2N。这对应于 ConsistencyLevel ALL 的读取和写入。也就是说,您只需写入所有节点并从所有节点读取,不会发生任何花哨的事情。

    关于replication - R + W > N 对 Cassandra 集群有什么影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7817513/

    相关文章:

    hadoop - Giraph、Hadoop、Spark 和 Cassandra

    workflow - 使用 DAG 的 Condor 作业以及一些需要运行同一主机的作业

    python - 集群 TCP 服务器,因此可以向所有客户端发送数据

    elasticsearch - 两节点Elasticsearch集群中的高可用性

    Cassandra 3.x 到 4.x 驱动程序差异

    postgresql - Pglogical 复制集未按预期工作

    ssl - Cassandra C# TLS 版本选择?

    python - Scrapy 集群 kafka_monitor.py 中断

    elasticsearch - 复制 Elasticsearch 主分片

    Mysql多源复制配置问题