Designing Data-Intensive Applications

An interactive learning platform for mastering the big ideas behind reliable, scalable, and maintainable systems.

1

Part I: Foundations of Data Systems

Reliable, Scalable, and Maintainable Applications

0/4

Understanding the core requirements of data systems: Reliability, Scalability, and Maintainability.

Data Models and Query Languages

0/3

How data is structured and accessed.

Encoding and Evolution

0/2

Formats for encoding data and handling schema changes.

2

Part II: Distributed Data

Transactions

0/3

Grouping several reads and writes into a logical unit.

The Trouble with Distributed Systems

0/4

Everything that can go wrong in a distributed system.

Consistency and Consensus

0/3

Getting all nodes to agree on something.

3

Part III: Derived Data