java - Cassandra 的一致性

标签 java cassandra

在 CAP 定理的 AP 中,是否有可能(就像在 cassandra 中一样),如果我写入/更新到 cassandra 并立即尝试获取它,是否有可能找不到数据或者我应该读取数据/p 在获取之前暂停(从而允许复制稳定下来)。

有人可以引导我访问人们解决了 cassandra 中的一致性问题的任何链接吗?

最佳答案

Cassandra 可用于提供您所描述的一致性。如果您读取的节点数 (R) 加上写入的节点数 (W) 大于复制因子 (N),则您将在写入后立即读回一个值(假设没有并发写入者)自您写入以来,谁可能会在小窗口中写入稍后的值)。因此只要 R+W>N 你就会得到这种行为。

执行此操作的常见方法是在 CL.QUORUM 上读取和写入,因为这可以提供良好的可用性。您也可以例如在 CL.ONE 处读取并在 CL.ALL 处写入,但如果单个节点发生故障,写入将会失败。

关于java - Cassandra 的一致性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19330262/

相关文章:

hadoop - 运行 Cassandra + Pig 时出错

Cassandra : Select records based on "timeuuid where conditions"

java - 如何通过 jline3 在每行前面添加字符串?

Java 安全管理器完全禁用反射

java - 如何通过 REST API java 在 Azure DevOps 中添加测试结果?

elasticsearch - 带有Elasticsearch后端的Titan:没有配置的节点可用:[]

java - 检索列表 <blob> cassandra 示例

java - 使用 java.util.prefs.Preferences 处理 Windows 注册表

java - @Named bean 与 localhost 同步

node.js - 如何调试 Cassandra 验证错误