Designing Data-Intensive Applications

By Martin Kleppmann,

Book cover of Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Book description

Data is at the center of many challenges in system design today. Difficult issues need to be figured out, such as scalability, consistency, reliability, efficiency, and maintainability. In addition, we have an overwhelming variety of tools, including NoSQL datastores, stream or batch processors, and message brokers. What are the right…

When you buy books, we may earn a commission that helps keep our lights on (or join the rebellion as a member).

Why read it?

2 authors picked Designing Data-Intensive Applications as one of their favorite books. Why do they recommend it?

This is the best overview of data storage and distributed systems—two key concepts for building almost any piece of software today—that I've seen anywhere. Martin does a wonderful job of taking a massive body of research and distilling complicated concepts and difficult trade-offs down to a level anyone can understand.

I learned a lot about replication, partitioning, linearizability, locking, write skew, phantoms, transactions, event logs, and more. I'm also a big fan of the final chapter, The Future of Data Systems, which covers ideas such as "unbundling the database", end-to-end event streams, and an important discussion on ethics in programming…

Designing Data-Intensive Applications is the best book if you want to learn about the main principles behind every system that is able to store and process big amounts of data.

You'll learn about distributed storage systems, their tradeoffs (availability, consistency, fault-tolerance), streaming processing systems, and main algorithms.

Those are the critical concepts behind almost every successful company that needs to create scalable solutions. 

From Tomasz's list on big data processing ecosystem.

Want books like Designing Data-Intensive Applications?

Our community of 12,000+ authors has personally recommended 52 books like Designing Data-Intensive Applications.

Browse books like Designing Data-Intensive Applications

Book cover of Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 3e: Concepts, Tools, and Techniques to Build Intelligent Systems
Book cover of Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale
Book cover of Advanced Analytics with Spark: Patterns for Learning from Data at Scale

Share your top 3 reads of 2024!

And get a beautiful page showing off your 3 favorite reads.

1,206

readers submitted
so far, will you?

5 book lists we think you will like!

Interested in big data, python, and data mining?

Big Data 29 books
Python 30 books
Data Mining 13 books