Designing Data-Intensive Applications
by Martin Kleppmann
02 Aug 2019 ★★★★★Why I read it: It seem to have been recommended as a great read all over the internet.
What I liked about it: The amount of information and the wast contexts that it covers: important concepts likes response time percentiles, linearisability, serializability and etc. explained; deep dive into database theory, different systems architectures with pros and cons; examples and explanations on how some widely used software products are implemented and even some fun facts like how the NoSql name was born and the Sushi principle (“Raw data is better”). Oh, and a very nice chapter on the ethics of software development at the end!
What I disliked: Reading the book felt like talking with a really smart dude that sometimes forgets to give contexts for some very technical stuff he mentions. I was missing some foreword for each chapter to explain why is this important for me as an application developer, why we talk about this here and etc. Also since the book covers wast oceans of information some parts of it are less useful/ easy to understand for the day to day job than others.
But this doesn’t prevent it from being a great read for anyone working with distributed systems. Must be the reason why it is O’reilly’s second most popular book for 2019.