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.
| Week | Discussion Leader | Chapter | Title |
|---|---|---|---|
| Jun 1 - 7 | Philip | 1 | Trade-Offs in Data Systems Architecture |
| Jun 8 - 14 | Georg | 2 | Defining Nonfunctional Requirements |
| Jun 15 - 21 | TBD | 3 | Data Models and Query Languages |
| Jun 22 - 28 | Mike | 4 | Storage and Retrieval |
| Jun 29 - Jul 5 | TBD | 5 | Encoding and Evolution |
| Jul 6 - 12 | TBD | 6 | Replication |
| Jul 13 - 19 | Mike | 7 | Sharding |
| Jul 20 - 26 | TBD | 8 | Transactions |
| Jul 27 - Aug 2 | TBD | 9 | The Trouble with Distributed Systems |
| Aug 3 - 9 | TBD | 10 | Consistency and Consensus |
| Aug 10 - 16 | Mike | 11 | Batch Processing |
| Aug 17 - 23 | TBD | 12 | Stream Processing |
| Aug 24 - 30 | TBD | 13 | A Philosophy of Streaming Systems |
| Aug 31 - Sep 6 | TBD | 14 | Doing the Right Thing |
Sign Up
If this sounds interesting, sign up here. Please share it to anyone who might enjoy it as well.