“Designing Data Intensive Applications” by Martin Kleppmann
“Designing Data Intensive Applications” book by Martin Kleppmann is seen as a kind of the bible today. Unless you’re squezzing every CPU cycle, fine-tuning embedded C compilers, or working on the next AAA hit – this book must have caught your attention before.
To be perfectly honest – I have read that book before. However, it was a quick read, where I did not make any kinds of notes. It was more about trying to find out, what’s that all hype about. This time I was more interested in some knowledge to get out of it (hence creation of ANKI flashcard deck), but most important thing was – is this book still relevant today?
That may sound like a dumb question at first, but once you start thinking about it, more and more nuances appear. First of all – the book was released in 2017. As I am writing these words in 2024, the math is easy. Seven year difference in the IT world is a gigantic leap. Especially in the area of distributed systems, streams processing, event-driven architectures and so on. I’ve mentioned 2017 as a publication year, but hey, let’s be honest – the book was being written well before that! At that time, Kafka was around version 1. AWS RDS in 2017 got over 80 new features, and to get something from the other part of the spectrum – CockroachDB had its initial version released in 2017.
My point being – the environment in which we live today is completly different. Cloud features and big-data ecosystem matured in an unimaginable way. The thing is, that with ever-increasing layers of abstraction, way less people today (compared to 2017) have to think at the scale that the book presents. I mean – lots of troubles described is still out there, but well-hidden from the eyes of the profane.
Does this make “Designing Data-Intensive Applications” not worthy anymore? That would be an overstatement. It still contains tons of usable knowledge. However, if anyone asked me – I would recommend a reverse approach. If you’re using aforementioned Kafka or distributed DB, try to make some deep-dive into them first. Concentrate on one solution, and see how things are working there. Equipped with that knowledge, giving this book a read, would be a completly different experience. That is my recommendation here.
Obviously I did not plan to create a full-blown review here. There are numerous ones available on the web. What I would like to end with, is yet another mention of my ANKI flashcard deck. As a bonus – below you can find list of book notes made by other people. For sure you will be able to find there the one that suits you best.
- https://github.com/keyvanakbary/learning-notes/blob/master/books/designing-data-intensive-applications.md
- https://github.com/ahmedhammad97/Designing-Data-Intensive-Applications-Notes
- https://danlebrero.com/2021/09/01/designing-data-intensive-applications-summary/
- https://elvischidera.com/2022-01-20-designing-data-intensive-applications
Leave a Reply
You must be logged in to post a comment.