Back when I started out my professional career as a Data Engineer at inovex, many respected
seniors recommended the book 'Designing Data-Intensive Applications' by Martin Kleppmann. It was
praised as a great read
to both deepen your understanding of data storage internals and broaden your view for
the concepts that build up the architectures of modern data systems.
Apart from all the documentation, I didn't read too many technical books back then
so I was hesitant at first, questioning if that's a good way to spend my time.
But I gave it a try and from the beginning I absolutely loved it!
I was blown away by the great insights into so many concepts that govern
the technologies I work with everyday. Many of these I knew from my studies and
self-education but this book went deeper into what I felt are the relevant topics for
understanding data applications.
I recently reread the full book so I thought it
nice to pass on the recommendation to whoever is interested in deepening their
understanding of services available to the modern data tech-stack.
I guarantee that you'll learn something new about the internals of PostgreSQL, Kafka, ZooKeeper, and many more.
The typical O'Reilly-style cover. One can't not love it.
First, it's foundational and practical.
Kleppmann balances deep theoretical insights with practical advice, making complex topics accessible.
Whether you're a software engineer new to distributed systems or a seasoned architect, the
book provides value by bridging academic research and real-world applications.
Second, its broad scope.
The book covers a wide range of topics, including database internals, data modeling, distributed systems,
fault tolerance, consistency, and scalability.
This breadth makes it a comprehensive guide for anyone working with data processing systems.
I found myself many times, rereading parts when they became relevant on my current project or study.
Third, its comprehensibility.
The content is highly technical and hard to grasp at times. I would not recommend to read it after a
long day of cooking your brain at the office. Yet, I think that Kleppmann made a great job
explaining these concepts in a clear and understandable way, building up on previous
chapters as the book progresses.
PS: I have no affiliation with Martin Kleppmann or O'Reilly (unfortunately!)