...

/

Spanner using TrueTime

Spanner using TrueTime

Let's examine how Spanner provides the consistency guarantees.

Spanner makes use of a novel API to record time, called TrueTimeE. Brewer, “Spanner, TrueTime and the CAP Theorem,” 2017., which is the key enabler for most of the consistency guarantees provided by Spanner.

TrueTime API

TrueTime API directly exposes clock uncertainty, and nodes can wait out that uncertainty when comparing timestamps retrieved from different clocks. If the uncertainty gets large because of some failure, this will manifest as increased latency due to nodes having to wait long periods.

TrueTime represents time as a TTInterval, which is an interval [earliest,latest][earliest, latest] ...