DocumentDB上的会话保证

时间:2016-04-05 00:50:17

标签: azure azure-cosmosdb

我正在尝试理解DocumentDB在使用会话一致性时提供的确切保证。

是否可能发生以下情况(假设a,b,c,d是同一文档的所有值)

第1节W(a)W(b)

第二节.................. W(c)W(d)

第3节................................. R(b)R(c)

第4节................................ R(c)R(b)

换句话说,是按顺序写入会话(在这种情况下,b在c或c发生在b之前发生,因此C3或C4中的一个会违反单调读取)?

更新a,b,c,d(假设它们都是以会话一致性为基础)的顺序是什么?

1 个答案:

答案 0 :(得分:2)

会话一致性为用户提供以下保证。

1)读取您自己的写入 - 在会话中执行的任何写入都会立即在会话中显示。

2)单调读取 - 在会话中看到的任何读取都不会在会话中退回。

假设A,B,C,D正在增加同一文档的版本。

C,B不是单调增加的历史,将违反会话保证。

注意:这里的假设是Session(4)的读取请求是按顺序发出的。即在第一次读取完成后发出第二次读取。