Spanner: Google's Globally-Distributed Database
Transactions ordered by real time across continents, paid for with atomic clocks and a deliberate pause on every commit.
Read the original ↗Spanner is the paper that made people angry, and the anger is the useful part: it claims a guarantee across continents that a decade of distributed systems teaching had settled into calling impossible. It gets there by buying atomic clocks and then deliberately sleeping.
Included with a plan
This discussion is included with a plan. The first three lessons of every track are free, with their boards and videos. A plan unlocks every lesson, board, video, lab and paper for one price.
Related on chalk
The same idea as a board, lab, video or lesson.
- BoardThe Hard Part - Timethe clock problem on its own, which is the only problem Spanner really solves
- BoardWhen Machines Failunreliable clocks as a chapter, before anyone offers to bound them
- BoardThe Two Ledgers Must Agreethe two-phase commit Spanner keeps and runs over Paxos groups
- BoardWho Holds the Penthe per-shard leader every Spanner write goes through
- BoardSplitting the Ledgerthe split into shards that makes a transaction cross-group in the first place
- BoardThe Ledger Everyone Readsthe promise ladder - Spanner claims the top rung, globally
- LabThe two ledgers must agreethe blocking coordinator, which Spanner makes survivable rather than removing
- LabWho holds the penthe leader election underneath every Spanner shard
- LabThe ledger everyone readswhich guarantee you actually bought - external consistency is the expensive row
- LabIsolation levelssnapshot reads at a timestamp, which is what Spanner's lock-free readers are doing
- LabThe cut phone linethe opposite answer from Dynamo's, and what it costs to give it
- VideoDistributed transactions: the two ledgers must agreethe crash that lands between two writes
- VideoConsensus: who holds the penone pen, five clerks, a fence
- VideoCAP: the cut phone linethe partition Spanner answers by waiting rather than by guessing
- LessonScheduler 07: The Hard Part - TimeUses the board The Hard Part - Time
- LessonWhen Machines FailUses the board When Machines Fail
- LessonThe Two Ledgers Must Agree (Distributed Transactions)Uses the board The Two Ledgers Must Agree
- LessonRaft 01: Leader ElectionUses the board Who Holds the Pen
- LessonRaft Capstone: EverythingUses the board Who Holds the Pen
- LessonWho holds the pen (consensus & Raft)Uses the board Who Holds the Pen
- LessonKV: the ringUses the board Splitting the Ledger
- LessonSplitting the ledger (sharding)Uses the board Splitting the Ledger
- LessonA Book You Never Erase - the append-only ledger, reversals and derived balancesUses the board The Ledger Everyone Reads
- LessonThe Ledger Everyone Reads (event-driven & the log)Uses the board The Ledger Everyone Reads
Further reading
Read the original for the full argument and its evidence.