Designing Data-Intensive Applications 2nd Edition

Designing Data-Intensive Applications 2nd Edition

The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Martin Kleppmann & Chris Riccomini

Currently Reading
Distributed Systems
Databases
System Design
Chapter 1 of 147.14%

Started 2026-08-12

About the Book

Designing Data-Intensive Applications by Martin Kleppmann provides a comprehensive guide for engineering reliable, scalable, and maintainable data systems. The text examines core trade-offs in modern data architecture, covering topics from storage engines to distributed system design.

Key Concepts

No concepts extracted yet.

Chapters

  1. 01

    Trade-Offs in Data Systems Architecture

    Frames the whole book: there are no solutions, only trade-offs. Walks the four biggest trade-offs in data systems — operational vs analytical, cloud vs self-hosting, distributed vs single-node, and business needs vs the rights of people in the data — while building the vocabulary (OLTP/OLAP, warehouse, system of record, derived data) the rest of the book depends on.

  2. 02

    Defining Nonfunctional Requirements

  3. 03

    Data Models and Query Languages

  4. 04

    Storage and Retrieval

  5. 05

    Encoding and Evolution

  6. 06

    Replication

  7. 07

    Sharding

  8. 08

    Transactions

  9. 09

    The Trouble with Distributed Systems

  10. 10

    Consistency and Consensus

  11. 11

    Batch processing

  12. 12

    Stream Processing

  13. 13

    A Philosophy of Streaming Systems

  14. 14

    Doing the Right Thing

Applied in Practice

No practical applications connected yet.

Youssef El Sayed

Building scalable, high-performance web and mobile applications with clean, efficient code.

Connect

Copyright © 2026. All rights reserved.

Built with Next.js & Tailwind CSS