Designing Data-intensive Applications with Martin Kleppmann

Open the original

Short summary

In this Pragmatic Engineer episode, Martin Kleppmann walks through updates in the second edition of Designing Data-Intensive Applications and shares how his LinkedIn experience shaped the book’s core concepts. He breaks down trade-offs in multi-region and cloud architectures, explains why replication still matters more than sharding, and predicts a rise in formal verification and local-first software.

  • Second edition of DDIA cuts MapReduce coverage in favor of Spark and Flink, reflecting how the field has moved on
  • Manual sharding has become rare thanks to bigger hardware and managed services, making replication the fault-tolerance skill every team now needs
  • Kleppmann predicts LLMs will make formal verification mainstream by automating proof generation, shifting the bottleneck to human review
  • Architecture decisions like multi-region or multi-cloud are business trade-offs between risk and cost, not universal best practices

Full summary

Martin Kleppmann, whose book Designing Data-Intensive Applications shaped how engineers think about distributed systems, just rolled out a second edition with fresh examples and reduced MapReduce coverage, swapping it for Spark and Flink discussions. He drew on his time at LinkedIn—where he watched Kafka evolve—to map out how storage engines, message queues and databases fit together. He wrote the first edition after his startup Rapportive ran into database performance walls and needed a clear framework for tackling latency, replication and consistency decisions. He stresses that architecture choices—like going multi-region or multi-cloud—aren’t universal best practices but business trade-offs between risk and cost. Scaling down matters as much as scaling up; serverless functions can shrink infrastructure bills just as sharding once spread data across machines. Today, bigger hardware and managed services have made manual sharding rare, shifting fault-tolerance work toward replication strategies that every team needs to understand. Looking ahead, Kleppmann argues that formal verification could finally break into mainstream use as large language models automate proof generation and human review becomes the bottleneck. He’s wrestling with local-first software, where decentralized conflict resolution and revoked-user scenarios create thorny design challenges. And he wants industry and academia to stop dismissing each other—real-world engineering yields hard problems that deserve theoretical insight, while research labs should ground their work in production lessons.

Ask about this article