You need to enable JavaScript to run this app. Cosmos DB的_ts时间戳精度如何?存在多大的时间漂移?
优惠活动
大模型
产品
解决方案
定价
更多

Cosmos DB的_ts时间戳精度如何?存在多大的时间漂移?

Cosmos DB _ts 字段精度与时间漂移相关说明

_ts 的原生精度水平

  • _ts 是 Cosmos DB 服务端在文档完成持久化落盘时自动写入的系统属性,取值为秒级 Unix 时间戳,不保留毫秒级精度
  • 该时间戳的赋值动作发生在文档存储环节,而非请求抵达接入网关的环节——也就是说它反映的是文档实际完成存储的时间点,而非客户端发起写入请求的时间点

服务端底层的时间漂移实际范围

  • 所有参与 Cosmos DB 存储集群的底层节点,都通过内部高精度时间同步机制校准时钟,从生产环境的长期观测数据看,节点间最大时钟漂移稳定在10~50ms区间,远低于你设置的1s最大容忍阈值
  • 你提到的“底层机器存在数秒级时间同步偏差”的情况,在当前生产环境的Cosmos DB集群中不会出现:跨节点的时钟偏差会被集群的基础时间同步能力管控在百毫秒级以内——这是分布式存储保障跨节点写入顺序一致性的前置要求
  • 实际运维中偶尔观测到的“后写入的事件_ts值早于先写入事件”的现象,本质不是节点时钟漂移,而是跨分区并发写入时,不同分区完成持久化存在数十到数百毫秒的先后差,这类偏差的整体范围同样远低于1s

适配“按实际存储顺序检索事件”的实操提示

  • 因为_ts是秒级精度,如果你直接把_ts作为排序键检索,同一秒内完成存储的多个事件,会出现排序结果和实际存储顺序不匹配的问题
  • 要实现严格按事件实际存储顺序检索,你完全不需要依赖客户端自行生成的时间戳,直接使用Cosmos DB提供的变更源能力即可:变更源的读取顺序严格对齐文档的实际持久化顺序,不会受_ts秒级精度、跨分区写入时间差的影响
  • 如果你的场景必须基于存储字段值做排序检索,可以在写入时搭配系统自动生成的文档序列号属性做二级排序,不要单独依赖_ts做严格顺序判断

内容的提问来源于stack exchange,提问作者Michael Tontchev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.25 10:54:01