Google的Spanner中的TrueTime API是什么?

时间:2016-10-27 00:03:07

标签: database google-cloud-platform distributed google-cloud-spanner

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

1 个答案:

答案 0 :(得分:13)

TrueTime是Google提供的API,可直接暴露时钟不确定性。

standard datetime libraries相比,TrueTime的 now()函数不是特定的时间戳,而是返回[最早,最新]的时间间隔。

它还提供两个功能:

  • 在(t)之后如果t已经过去则返回true。例如。 t<现在()最早
  • before(t)如果t肯定没有到达则返回true,或者 t>现在()最新

令人印象深刻的是, now()的实现会返回时间间隔很小的区间。

Spanner使用TrueTime API以满足external consistency的方式为事务分配提交时间戳:如果事务 T1 在另一个事务 T2 启动之前提交,然后 T1 的提交时间戳小于 T2

更多参与扳手论文http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf