我需要一些帮助来解决学校的运动。它涉及Cassandra中可调谐的一致性。
给定15个节点的集群,完成下表。在多个可能性的情况下给予所有这些。 CL值为:ANY,ONE,QUORUM,ALL
非常感谢你的帮助!
P.S。我确定我们需要以下规则来解决这个问题:节点读取+节点写入>复制因子要一致
答案 0 :(得分:4)
此处的文档应概述一致性级别及其运作方式:
https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigConsistency.html
如果链接在将来被破坏,我已经在此处复制了一些内容以便清楚
写入一致性级别
所有强>
必须将写入写入提交日志并在所有副本上进行记忆 该分区的集群中的节点。
EACH_QUORUM 强大的一致性。必须将写入写入提交日志,并且可以在每个中的法定数量的副本节点上进行记忆 数据中心。
QUORUM
必须将写入写入提交日志并在法定数量上记忆 所有数据中心的副本节点。
LOCAL_QUORUM
强烈的一致性。必须将写入写入提交日志和 可记忆在同一数据中心的法定数量的副本节点上 协调。避免数据中心间通信的延迟。
ONE
写入必须写入提交日志并且至少有一个可记忆 副本节点。
TWO 必须将写入写入提交日志并至少记录两个副本节点。
THREE 必须将写入写入提交日志并记忆 至少三个副本节点。
LOCAL_ONE
写入必须至少发送并成功确认 本地数据中心中的一个副本节点。
ANY
必须将写入写入至少一个节点。如果所有副本节点都为 给定的分区键是关闭的,写入后仍然可以成功 已经写了一些暗示的交接。如果所有副本节点都已关闭 写入时间,ANY写入在副本节点之前是不可读的 该分区已经恢复。
读取一致性级别
所有
在所有副本都已响应后返回记录。阅读 如果副本没有响应,操作将失败。 EACH_QUORUM
不支持阅读。
QUORUM
从所有数据中心获得法定数量的副本后返回记录 回应。
LOCAL_QUORUM
在当前的法定数量的副本之后返回记录 数据中心作为协调员报告。避免延迟 数据中心间通信。
ONE
返回距离最近的副本的响应,由 告密者。默认情况下,读取修复在后台运行以进行 其他副本一致。
两个
从两个最接近的副本中返回最新数据。
三
从三个最接近的副本中返回最新数据。
LOCAL_ONE
返回本地数据中心中最近的副本的响应。
SERIAL
允许读取当前(可能未提交)的数据状态 没有提出新的添加或更新。如果SERIAL读取发现 正在进行的未提交事务,它将事务提交为 阅读的一部分。与QUORUM相似。
LOCAL_SERIAL
与SERIAL相同,但仅限于数据中心。
答案 1 :(得分:2)