Library

Designing Data-Intensive Applications — Martin Kleppmann

Designing Data-Intensive Applications

The only book that made distributed systems feel like engineering rather than folklore.

5/5

Author
Martin Kleppmann
Year
2017

distributeddatafoundational

After finishing this the vocabulary I use in architecture discussions changed. I stopped saying “consistency” and started asking which consistency.

The chapter that helped me most was not replication but data encoding. I had been underestimating schema evolution; afterwards it happened to us in exactly the way described, on three separate projects.

Its weakness is that most examples come from systems around 2016. The ideas hold, the product names have aged.