gpt4 book ai didi

cassandra - CL Quorum 是否可能出现脏读?

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

基于

http://docs.datastax.com/en/cassandra/2.0/cassandra/dml/dml_config_consistency_c.html

写入一致性

The consistency level determines the number of replicas on which the write must succeed before returning an acknowledgment to the client application

读取一致性:

The consistency level specifies how many replicas must respond to a read request before returning data to the client application.

这意味着,如果我在同一客户端应用程序(并且可能是同一线程)内将 CL 指定为读取和写入的仲裁,那么在写入(同样,使用CL = Quorum)确保我获得最新数据。

但是我不太清楚的是:这是否也适用于同一应用程序中的不同进程和不同线程?

是否可以指定 CL = Quorum,但仍会丢失更新(旧数据)或脏读?

更新:

澄清一下,我不是在谈论 CL QUORUM 完成之后的情况。问题更多的是这样的:

如果在写入过程中(@QUORUM)连接到同一集群的另一个进程尝试使用 CL = QUORUM 读取同一分区,是否可以读取旧数据?

想象一下写入尚未完成对所有副本的写入,因此 CL 尚未得到满足并且发生了读取。有没有可能写操作仅写入一个节点(并且正在复制过程中),因此当读操作(CL = QUORUM)进入时,它会读取较旧的数据?节点是否以某种方式知道它们应该“等待”直到写入完成

非常感谢,

最佳答案

只要读取和写入都在 QUORUM 上完成,它就会保持一致。由于超过一半的人已经看到了写入,并且超过一半的人正在返回读取,因此肯定会有一些重叠。

关于cassandra - CL Quorum 是否可能出现脏读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31613240/

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