Spanner: Google's Globally-Distributed Database
The world's first globally distributed database providing external consistency and multi-datacenter ACID transactions.
AUTHORS: James C. Corbett, Jeffrey Dean, Michael Epstein, et al.
CORE ARCHITECTURAL BREAKTHROUGH
"Turn time into an interval `[earliest, latest]` using the TrueTime API (backed by GPS and atomic clocks) to serialize distributed transactions globally without cross-datacenter locks on reads."
WHY MODERN SYSTEMS STILL DEPEND ON IT
Broke through the perceived boundaries of the CAP theorem by engineering bound clock uncertainty. Foundation for CockroachDB and Google Cloud Spanner.
KEY PROBLEMS SOLVED
01.Megastore and Bigtable lacked cross-row, cross-datacenter ACID transactions, forcing application developers to write buggy manual 2PC code.
02.Traditional two-phase commit over global networks suffered from catastrophic read latency and lock contention.
03.Standard NTP clock drift across datacenters (up to 100-500ms) made ordering events chronologically impossible.
DIRECT MODERN SUCCESSORS
CockroachDBOpen-source Spanner derivative using Hybrid Logical Clocks (HLC) instead of atomic clocks.
YugabyteDBDistributed SQL database implementing Spanner's 2PC-over-Raft and MVCC architecture.