Spanner is Google's highly available global-scale distributed database. It provides
strong consistency for all transactions. This combination of availability and
consistency over the wide area is generally considered impossible due to the CAP
Theorem. We show how Spanner achieves this combination and why it is consistent
with CAP. We also explore the role that TrueTime, Google's globally synchronized
clock, plays in consistency for reads and especially for snapshots that enable
consistent and repeatable analytics.