Browse · Designing Data-Intensive Applications

SystemsArchitecture

Designing Data-Intensive Applications

Martin Kleppmann

1st ed.

Data outlives code. The definitive guide to building systems that treat data seriously.

About the book

Known as DDIA — the wild boar book. Teaches the why behind every database, message broker, and distributed system: replication strategies, consistency models, fault tolerance, stream vs batch processing. The most recommended software engineering book of the last decade, full stop.

Best used for

  • Choosing between database engines for your use case
  • Designing a replication or partitioning strategy
  • Reasoning about consistency vs availability tradeoffs in distributed systems

The only book I've recommended to every engineer I've ever hired, without exception.

r/ExperiencedDevs

Install this skill

Run this command in your terminal. The skill will be available in all your Claude Code projects.

mkdir -p ~/.claude/skills/ddia-systems && curl -fsSL "https://raw.githubusercontent.com/wondelai/skills/main/ddia-systems/SKILL.md" -o ~/.claude/skills/ddia-systems/SKILL.md

Once installed, invoke with /ddia-systems in Claude Code, or let Claude load it automatically when relevant.

Skill by wondelai/skills, licensed MIT.