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
May 18 - 24Philip-(Welcome & Introduction Mail)
May 25 - 31Philip1Trade-Offs in Data Systems Architecture
Jun 1 - 7Georg2Defining Nonfunctional Requirements
Jun 8 - 14TBD3Data Models and Query Languages
Jun 15 - 21Mike4Storage and Retrieval
Jun 22 - 28TBD5Encoding and Evolution
Jun 29 - Jul 5TBD6Replication
Jul 6 - 12Mike7Sharding
Jul 13 - 19TBD8Transactions
Jul 20 - 26TBD9The Trouble with Distributed Systems
Jul 27 - Aug 2TBD10Consistency and Consensus
Aug 3 - 9Mike11Batch Processing
Aug 10 - 16TBD12Stream Processing
Aug 17 - 23TBD13A Philosophy of Streaming Systems
Aug 24 - 30TBD14Doing 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