All reads
Book

Designing Data-Intensive Applications

Martin Kleppmann

Published
O'Reilly, 2017
Finished
Finished February 2026
distributed-systemsdatabasesarchitecture
Key takeawayEvery storage and replication choice is a trade-off between consistency, availability and latency — know which one you're making.

Notes

  • Storage engines: LSM-trees favour write throughput, B-trees favour predictable reads.
  • Replication: single-leader, multi-leader and leaderless setups each fail differently; replication lag is a product problem, not just an infra one.
  • Partitioning: hot keys defeat even hashing — plan for skew.
  • Transactions: most "ACID" databases default to weaker isolation than serializable.