gpt4 book ai didi

azure - Cosmos DB - 查询的一致性级别覆盖 - 它实际上只有 3 个选项吗?

转载 作者:行者123 更新时间:2023-12-03 07:06:19 25 4
gpt4 key购买 nike

我正在阅读docs并遇到这部分:

<表类=“s-表”><标题>一致性级别法定人数阅读仲裁写入 <正文>强本地少数民族全局多数有限的陈旧性本地少数民族本地多数 session 单个副本(使用 session token )本地多数一致的前缀单个副本本地多数最终单个副本本地多数

假设我将强一致性设置为默认值(用于写入)。我想针对某些查询覆盖它。
仅当我在 Strong 之间进行选择时才重要, SessionEventual一致性,因为这些具有不同的Quorum Reads .
Strong 之间更改和Bounded StalenessConsistent PrefixEventual没关系,因为它仅用于读取 - 写入仍配置为 Strong一致性。

我说得对吗?

编辑:尽管 @Mark 的纯粹答案并不满足我,它对我来说是完整的评论,所以我将其标记为解决方案。为了简单起见,答案是实际上查询放宽实际上只有 2 个选项: StrongConsistent Prefix .

最佳答案

放宽读取(包括查询)的一致性级别确实会产生影响,但这种影响是成本之一。强烈而有限的陈旧是本地的少数。这意味着读取是在两个副本上完成的,并且比较它们之间的 LSN。如果它们匹配,则数据是一致的。如果它们不匹配,则返回具有较大 LSN 的项目,因为它是最近的写入。

由于数据是从两个副本读取,因此 RU/s 成本是从 Session 或较弱一致性读取的 2 倍。

正是因为这种成本的降低,用户可能希望削弱其读取的一致性。如果您正在构建一个不需要完美一致性的应用程序,并且数据可能会滞后一小段时间,那么这是非常合适且成本较低的方法。特别是在高并发情况下进行查询时。

值得指出的是,放宽 session 的一致性级别将导致使用一致前缀。 session 一致性需要 session token ,该 token 目前仅限于单个分区键范围 id。由于查询可以跨越多个分区键范围值,因此您使用的有效一致性级别本质上是一致的前缀。

关于azure - Cosmos DB - 查询的一致性级别覆盖 - 它实际上只有 3 个选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71368901/

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