/DDIA_Reading_Group

Materials For Designing Data Intensive Applications Reading Group

Syllabus(ish)

Book

Designing Data Intensive Applications by Martin Kleppmann.

Why?

Some of this is taught in school but usually in isolation. A readthrough of it will give us an overview of the background knowledge required to design large scale software systems. A reading group is necessary because I need some accountability.

Schedule

Part 1: Fundamentals

  • Week 1: Sunday, October 29, 2023 - Introduction & Chapter 1 (Reliability, Scalability, Maintainability)
  • Week 2: Sunday, November 05, 2023 - Chapter 2 (Data Models and Query Languages)
  • Week 3: Sunday, November 12, 2023 - Chapter 3 (Storage Engines)
  • Week 4: Sunday, November 19, 2023 - Chapter 4 (Data Encoding and Evolution)

Part 2: Distributed Data

  • Week 5: Sunday, November 26, 2023 - Chapter 5 (Replication)
  • Week 6: Sunday, December 03, 2023 - Chapter 6 (Partitioning/Sharding)
  • Week 7: Sunday, December 10, 2023 - Chapter 7 (Transactions)
  • Week 8: Sunday, December 17, 2023 - Chapter 8 (Problems with Distributed Systems)
  • Week 9: Sunday, December 24, 2023 - Chapter 9 (Consistency and Consensus)

Part 3: Derived Data

  • Week 10: Sunday, December 31, 2023 - Chapter 10 (Batch Processing)
  • Week 11: Sunday, January 07, 2024 - Chapter 11 (Stream Processing)
  • Week 12: Sunday, January 14, 2024 - Chapter 12 (Future of Data-Intensive Apps)