我查看了有关这方面的公开文档,但似乎有一些混乱,因此问题。我将首先描述我找到的信息,然后提出问题。请不要在不了解我究竟是什么问题的情况下参考文档。
看看这个FAQ:
读取请求一致性级别是否可以更改? ...关键的想法是,您不能将请求一致性级别设置为超过表的设置。例如,您无法在Event中为表设置一致性级别,在Strong时设置请求一致性级别。 ...
然而,这仅涉及读取的一致性级别。是否可以在请求级别具有更强的写入一致性级别?
另外,如果你看一下doc关于覆盖一致性级别的问题,它没有提到任何关于你可以覆盖一致性的方向的限制。它似乎表明您可以在请求级别转向更强或更弱的一致性。
这增加了混乱。另请注意,我所指的FAQ部分(上面的第一个链接)特定于表API,因此表API也可能与其他API在请求级别一致性方面具有不同的功能。但是,对此有一个明确的解释会很好。
问题
我最近试图弄清楚这些问题。但我相信所有四个人的答案都是否定的。这是来自UserVoice的PM
为了支持DocumentDB服务的数据一致性保证,只能在客户端削弱一致性级别。
在读取时,可以选择较弱的一致性级别并获得相关的性能(延迟)优势。例如,如果帐户配置了强一致性,则默认情况下,将从法定数量的副本提供读取。特定客户端可以选择仅从单个客户端读取(更好的延迟),但可能会导致过时的读取。
在写入时,例如为了支持强一致性,DocumentDB必须确保在向客户端确认之前,每个写入都在大多数副本上提交。无法更改写入行为,因为其他客户端可能需要默认的强一致性行为。