Google的扳手中的TrueTime API是什么?

Sun*_*dar 5 database distributed google-cloud-platform google-cloud-spanner

我试图多次阅读该文档但未能理解它.有人可以用外行的话来解释吗?

Mai*_*kov 13

TrueTime是Google提供的一种直接暴露时钟不确定性的API.

标准的日期时间库相比,TrueTime的now()函数不是特定的时间戳,而是返回[最早,最新]的时间间隔.

它还提供两个功能:

  • 如果t已经过了,则(t)返回true.例如t <now().最早.
  • 如果t肯定没有到达,则(t)返回true,或者t> now().最新.

令人印象深刻的是,now()的实现返回的间隔通常很小.

Spanner使用TrueTime API以满足外部一致性的方式为事务分配提交时间戳:如果事务T1在另一个事务T2启动之前提交,则T1的提交时间戳小于T2.

更多内容见于Spanner论文http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf