代码之家  ›  专栏  ›  技术社区  ›  SoftMemes

谷歌扳手索引中的提交时间戳是否总是按顺序添加?

  •  1
  • SoftMemes  · 技术社区  · 6 年前

    扳手的魔力似乎是基于全球单体生物增加时钟的想法,如中所述。 https://cloud.google.com/spanner/docs/true-time-external-consistency . 我有兴趣具体了解这与索引的关系。

    如果我有桌子

    | Stream Id | Category | Timestamp |
    

    其中时间戳创建为提交时间戳,并带有辅助索引(类别,时间戳描述):

    查询此索引的人是否可能看到插入的时间戳顺序不对,例如,查询某个索引时是否可能返回毫秒数为100、110、120的时间戳,但当再次查询时,是否会显示一个较旧的值,例如100、110、115、120。

    此外,如果索引读取一次,其中包含最近条目的时间戳100,是否有可能稍后在另一条目中添加时间戳100?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Scott Swarthout    6 年前

    索引作为表在引擎盖下实现,因此它们与表具有相同的一致性保证。当被引用的表被更新时,索引也会同步更新,因此不应该出现这种索引视图不一致的情况。

    提交时间戳值不保证是唯一的。写入不重叠字段集的事务可能具有相同的时间戳。写入重叠字段集的事务具有唯一的时间戳。

    有关更多信息,请参考以下文档: https://cloud.google.com/spanner/docs/commit-timestamp

    https://cloud.google.com/spanner/docs/schema-design

    推荐文章