gpt4 book ai didi

database - 在 MongoDB 中,为什么读取关注 "available"是非因果一致 session 中辅助节点的默认选项?

转载 作者:行者123 更新时间:2023-12-02 00:11:37 25 4
gpt4 key购买 nike

我对因果一致性如何影响在读取关注“本地”与“可用”之间进行选择的决定感到困惑。

为什么在非因果一致的 session 中读取关注“可用”是次要 session 的默认值?

我了解分片集群的“可用”行为与非分片集合的“本地”行为。

我无法根据阅读文档建立联系。

如果有人帮助我搭桥,我将不胜感激。先谢谢了。

最佳答案

以下是分片集群方面的读取关注度摘要:

  • 多数:只返回写入多数投票节点的数据,不会回滚。
  • local:返回本地节点上的数据,但过滤掉了孤立的文档。这需要节点与分片的主节点(如果此读取在辅助节点上)或配置服务器通信以服务读取。在降级的分片集群中,此读取可能会无限期地停止。不过,这对于未分片的集合来说不是问题。可以返回可以回滚的数据。
  • available:返回任何可用的数据。这是为了允许读取可用性优先于正确性。可以返回可以回滚的数据。参见 Read Concern "available"

分片辅助默认为“可用”读取关注以保持与 MongoDB 3.4 的行为兼容性(参见 SERVER-31032)

因果一致性可以根据所使用的读写关注点提供不同的保证(请参阅 Causal Consistency and Read and Write Concerns 以获取详尽的细节),其中读取自己的写入、单调读取、单调写入和写入跟随读取之间的平衡可以通过以下方式实现使用不同级别的读写关注点。

由于因果一致性提供了数据完整性的表面保证,因此它与“可用”读取关注点不兼容,因为“可用”意味着不提供有关完整性的保证,而是强调可用性。

关于database - 在 MongoDB 中,为什么读取关注 "available"是非因果一致 session 中辅助节点的默认选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58814041/

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