Hall of FameJames C. Corbett et al.201246 min readpaperadvanced
Spanner: Google's Globally-Distributed Database
Summary
Spanner is Google's globally-distributed, synchronously-replicated database, notable for being the first to support externally-consistent distributed transactions at global scale. Its key innovation is the TrueTime API, which exposes clock uncertainty to enable these strong consistency guarantees.
- Spanner shards data across Paxos state machines in datacenters worldwide for global availability and locality.
- It provides externally consistent reads and writes, and globally-consistent reads at a timestamp, enabled by globally meaningful commit timestamps.
- The TrueTime API exposes clock uncertainty, allowing Spanner to wait out uncertainty for external consistency and features like lock-free reads.
- Spanservers manage tablets (key-timestamp-value mappings) and implement Paxos for replication and a lock table for two-phase locking.
This paper introduced a novel approach to achieving strong consistency in a globally distributed database, influencing subsequent database designs and providing a foundational understanding for engineers building large-scale systems.
9/10


