Skip to content
Go back

Book Club: Designing Data-Intensive Applications, 2nd Edition

I’m thinking of running a book club for Designing Data-Intensive Applications, 2nd Edition by Martin Kleppmann and Chris Riccomini. The first edition has been a staple for anyone working with data systems, and the second edition is supposedly very good as well.

The Book

DDIA covers what it takes to build reliable, scalable, and maintainable data systems. The second edition is a substantial update that reflects how the field has evolved. If you read the first edition years ago, there are plenty of new things to discover. If you haven’t read it yet, now is a great time.

Format

The format is heavily inspired by (basically the same as) Phil Eaton’s book clubs, async and by email without video calls. When you sign up, I will add you to a Google Group, and we discuss via Email (so your Email will be shared with other participants!).

We read ~one chapter per week. Each week, a discussion leader starts the thread. That can be something very simple, just a short prompt to kick off the conversation if you are busy (and I will remind you). If you want to, get the discussion started by sharing what confused you, a relevant work anecdote, or a link to a related paper. Everyone else replies with their own thoughts. You can engage as much or as little as you like, lurking is perfectly fine.

I’ll set the expectations with opening the first discussion, and you don’t need to be an expert or share some deep insight, just get the conversation started ;).

Schedule

We read during the week (Monday - Friday) and discuss on the weekend (Saturday - Sunday). A discussion leader starts the thread for each chapter.

WeekDiscussion LeaderChapterTitle
Jun 1 - 7Philip1Trade-Offs in Data Systems Architecture
Jun 8 - 14Georg2Defining Nonfunctional Requirements
Jun 15 - 21TBD3Data Models and Query Languages
Jun 22 - 28Mike4Storage and Retrieval
Jun 29 - Jul 5TBD5Encoding and Evolution
Jul 6 - 12TBD6Replication
Jul 13 - 19Mike7Sharding
Jul 20 - 26TBD8Transactions
Jul 27 - Aug 2TBD9The Trouble with Distributed Systems
Aug 3 - 9TBD10Consistency and Consensus
Aug 10 - 16Mike11Batch Processing
Aug 17 - 23TBD12Stream Processing
Aug 24 - 30TBD13A Philosophy of Streaming Systems
Aug 31 - Sep 6TBD14Doing the Right Thing

Sign Up

If this sounds interesting, sign up here. Please share it to anyone who might enjoy it as well.


About Me

I am an indie maker & researcher with a doctorate in computer science, interested in (among others): Software engineering, open data, data science, startups and esports.

See /about for details.

Have feedback, comments? Email me: philip@heltweg.org.

I (very occasionally) send out a newsletter when publishing new articles like this.

Subscribe ↗

Share this post on:

Previous Post
Improving Local Techdocs for Your AI Coding Agent
Next Post
Learnings From Crawling Technical Documentation