Google 的 Spanner 中的 TrueTime API 是什么?
What is the TrueTime API in Google's Spanner?
我多次尝试阅读文档,但未能理解。谁能通俗地解释一下?
TrueTime 是一个 API,可在 Google 直接暴露时钟的不确定性。
与 standard datetime libraries 相比,TrueTime 的 now() 函数 returns 一个时间间隔 [最早,最晚],而不是特定的时间戳。
它还提供了两个功能:
- after(t) returns 如果 t 确实通过了,则为真。例如。 t < now().earliest.
- before(t) returns 如果 t 肯定没有到达则为真,或者 t > now().latest .
令人印象深刻的是,now()returns 区间的实施通常具有较小的不确定性。
Spanner 使用 TrueTime API 以其满足 external consistency 的方式为事务分配提交时间戳:如果事务 T1 在另一个事务之前提交T2开始,然后T1的提交时间戳小于T2的。
Spanner 论文中有更多内容http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
我多次尝试阅读文档,但未能理解。谁能通俗地解释一下?
TrueTime 是一个 API,可在 Google 直接暴露时钟的不确定性。
与 standard datetime libraries 相比,TrueTime 的 now() 函数 returns 一个时间间隔 [最早,最晚],而不是特定的时间戳。
它还提供了两个功能:
- after(t) returns 如果 t 确实通过了,则为真。例如。 t < now().earliest.
- before(t) returns 如果 t 肯定没有到达则为真,或者 t > now().latest .
令人印象深刻的是,now()returns 区间的实施通常具有较小的不确定性。
Spanner 使用 TrueTime API 以其满足 external consistency 的方式为事务分配提交时间戳:如果事务 T1 在另一个事务之前提交T2开始,然后T1的提交时间戳小于T2的。
Spanner 论文中有更多内容http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf