gpt4 book ai didi

cassandra - Cassandra 中的自读一致性

转载 作者:行者123 更新时间:2023-12-04 04:22:57 25 4
gpt4 key购买 nike

Read-your-own-writes 一致性是所谓的最终一致性的巨大改进:如果我更改我的个人资料图片,我不在乎其他人是否在一分钟后看到更改,但如果在页面重新加载后我仍然看到它看起来很奇怪旧的。

这是否可以在 Cassandra 中实现而无需对多个节点进行完整的读取检查?

使用 ConsistencyLevel.QUORUM读取未指定的数据时很好,实际上正在读取 n>1 个节点。但是,当客户端从他写入的同一节点读取(并且实际上使用相同的连接)时,这可能是浪费的 - 在这种情况下,某些数据库将始终确保返回先前写入的(我的)数据,而不是一些较旧的数据。使用 ConsistencyLevel.ONE 不是 确保这一点并假设它会导致竞争条件。一些测试表明:http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/per-connection-quot-read-after-my-write-quot-consistency-td6018377.html

我对这个场景的假设设置是 2 个节点,复制因子 2,读取级别 1,写入级别 1。这会导致最终的一致性,但我希望读取时读取你自己的写入一致性。

使用 3 个节点,RF=3、RL=quorum 和 WL=quorum 在我看来会导致浪费的读取请求,如果我只在“我的”数据上保持一致就足够了。

//seo: 也称为: session 一致性、read-after-my-write 一致性

最佳答案

好问题。

我们有 http://issues.apache.org/jira/browse/CASSANDRA-876打开一段时间来添加这个,但没有人费心完成它,因为

  • CL.ONE 适用于大量工作负载,无需任何额外操作
  • 无论如何,读取是如此之快以至于做额外的一个并不是什么大问题(事实上,读取修复,默认情况下是开启的,意味着无论如何都会检查所有节点,所以 CL.ONE 和更高版本之间的区别实际上更多的是关于可用性比性能)

  • 也就是说,如果您有动力提供帮助,请在票证上询问,我很乐意为您指明正确的方向。

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

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com