
Book Overflow Replication, Partitioning, & Transactions - Designing Data-Intensive Applications by Martin Kleppman
Jan 26, 2026
They dig into replication: leader elections, Raft/Paxos, replication lag and strategies like CRDTs. Partitioning and sharding get practical treatment, including hot keys, suffix sharding, and rebalancing. Transactions and isolation are explored, covering ACID components, isolation anomalies, and locking trade-offs. They also debate when eventual consistency is acceptable and modern tooling like managed Postgres.
AI Snips
Chapters
Books
Transcript
Episode notes
Why Distribute Data
- Distributing data solves scalability, fault tolerance, and latency problems by spreading load or copies across machines.
- Each benefit introduces new coordination and consistency trade-offs that complicate system design.
Use Managed Databases First
- Prefer managed, battle-tested databases instead of building your own distributed systems from scratch.
- Use vendor solutions to avoid re-solving hard problems like replication and failover unless you have a compelling reason.
Replication Depends On Workload Shape
- Replication patterns depend on your read/write shape: read-heavy, write-batch, or low-latency needs demand different approaches.
- Mixing frequent writes with aggressive caching or replication greatly increases complexity and staleness risks.



