是否可以请求比容器/帐户的默认一致性级别更高的一致性级别?

时间:2019-04-20 21:40:32

标签: azure azure-cosmosdb

我在公共文档中查看了有关此内容的信息,但是对此似乎有些困惑,因此是一个问题。我将从描述我发现的信息开始,然后提出问题。请不要只是在不理解我确切要求的情况下引用文档。

看这个FAQ

  

读取请求一致性级别可以更改吗?   ...关键思想是您不能将请求一致性级别设置为   超过表格的设置。例如,您不能设置   最终表和请求表的一致性级别   一致性级别为“强”。 ...

但是,这仅涉及读取的一致性级别。对于请求级别的写入是否可以具有更强的一致性级别?

此外,如果您查看关于覆盖一致性级别的doc,也没有提及有关可以覆盖一致性的方向的任何限制。它似乎表明您可以在请求级别上增强或减弱一致性。

这增加了混乱。还要注意,我指的FAQ部分(上面的第一个链接)特定于表API,因此表API在请求级别一致性方面的功能也可能不同于其他API。但是,最好对此有一个清晰的解释。

问题

  • 是否有可能在请求级别具有更强的一致性 读? API会改变可能性吗?
  • 是否有可能在请求级别具有更强的一致性 写? API会改变可能性吗?

1 个答案:

答案 0 :(得分:1)

我最近试图找出这些相同的问题。但是我相信对这四个问题的答案都是。这来自UserVoice

上的PM
  

为了支持DocumentDB服务的数据一致性保证,只能在客户端削弱一致性级别。

     

读取时,可以选择较弱的一致性级别,并获得相关的性能(延迟)优势。例如,如果将一个帐户配置为具有高度一致性,则默认情况下,读取是由一定数量的副本提供的。特定的客户端可以选择仅读取单个客户端(更好的延迟),但可能会导致读取过时。

     

例如,在写操作时,为了支持强一致性,DocumentDB必须确保每次写操作都在大多数副本上提交,然后再确认给客户端。无法更改写行为,因为其他客户端可能需要默认的强一致性行为。