I tried to read the document multiple times but failed to understand it. Can someone explain it in layman's terms?
TrueTime is an API available at Google that directly exposes clock uncertainty. Comparing to standard datetime libraries, instead of a particular timestamp, TrueTime's now() function returns an interval of time [earliest, latest]. It also provides two functions: after(t) returns true if t has definitely passed.
Google Cloud Spanner makes use of TrueTime, a Google Cloud clock synchronization service that uses a combination of atomic clocks and GPS technology.
The short answer is “no” technically, but “yes” in effect and its users can and do assume CA. The purist answer is “no” because partitions can happen and in fact have happened at Google, and during some partitions, Spanner chooses C and forfeits A. It is technically a CP system.
We use this technology to smoothly handle leap seconds with no disruptive events. We implemented Google Public NTP with our load balancers and our fleet of atomic clocks in data centers around the world.
TrueTime is an API available at Google that directly exposes clock uncertainty.
Comparing to standard datetime libraries, instead of a particular timestamp, TrueTime's now() function returns an interval of time [earliest, latest].
It also provides two functions:
What's impressive, is that the implementation of now() returns intervals with generally small uncertainty.
Spanner uses TrueTime API to assign a commit timestamps to transactions in the way that it satisfies external consistency: if a transaction T1 commits before another transaction T2 starts, then T1’s commit timestamp is smaller than T2’s.
More in the Spanner paper http://static.googleusercontent.com/media/research.google.com/en//archive/spanner-osdi2012.pdf
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With