Azure DocumentDb"高水位标记" /时间戳

时间:2016-04-19 05:09:11

标签: azure azure-cosmosdb

我正在寻求实施一个偶尔会拉动所有"新"来自DocumentDb的记录,其中new是"自上次运行流程以来添加或修改的所有文档。"

SQL Server为此提供了rowversion,这保证了数据库中所有行和列的唯一且单调递增。

我看到DocumentDb有_ts,它(根据文档)用作Azure搜索索引的高水位标记,但是它是如何工作的?如果在读取的同时插入多个文档,则可能所有文档都具有相同的_ts值。在下一次阅读时,如果与_ts的比较严格大于,则会遗漏一些文件;如果它大于或等于,则会再次提取某些文件。

_ts可以安全使用吗?

1 个答案:

答案 0 :(得分:1)

_ts属性特定于文档,而不是文档集合。它代表特定文档更新的时间(自1970年1月1日起以秒为单位)。

_ts属性不会在集合中的所有文档中给出高水位线。每个文档都有自己独立的_ts属性(可能与另一个文档的_ts属性具有相同的值)。

有关详细信息,请参阅this answer