Book Overflow

Time is an Illusion - Designing Data-Intensive Applications by Martin Kleppman

Feb 2, 2026
They dig into distributed systems problems caused by unreliable clocks and how Google Spanner orders events. They unpack consensus, Byzantine faults, and trade-offs between safety and liveness. They explain linearizability limits and different replication models. They trace batch processing history from MapReduce to streaming and discuss resilient pipeline design like immutability and idempotence.
Ask episode
AI Snips
Chapters
Books
Transcript
Episode notes
INSIGHT

Clocks Lie — Design For Uncertainty

  • Clock timestamps are unreliable across machines and even within a single VM due to pauses, drift, and NTP adjustments.
  • Systems must separate 'time of day' from monotonic duration and design for uncertainty rather than assume perfect clocks.
INSIGHT

Spanner Shows Global Time Is Practical — At Cost

  • Google Spanner uses specialized hardware and uncertainty intervals to reason about event ordering despite imperfect clocks.
  • Strong global ordering is possible but requires massive infrastructure and probabilistic guarantees.
ADVICE

Use Fencing Tokens For Safe Locks

  • Use fencing tokens when granting locks so storage can reject stale clients after pauses or migrations.
  • Increment and verify a token with each write to prevent resumed processes from corrupting state.
Get the Snipd Podcast app to discover more snips from this episode
Get the app