Study one concept at a time. Open the guided module →
Study goals
Use these notes to reason about how data systems behave under real workloads.
- Choose storage and processing approaches from requirements rather than popularity.
- Explain the trade-offs between latency, consistency, availability, and cost.
- Trace what happens when a node, network link, or dependency fails.
- Separate the authoritative data from caches, indexes, and other derived views.
A working knowledge of application development, SQL, HTTP, and basic networking is useful. The ideas apply across programming languages and frameworks.
Topics in this learning path
The modules move from requirements and data models to storage, replication, transactions, and processing.
| Area | Questions to answer |
|---|---|
| Foundations | What does the workload require? How should data be modeled and stored? |
| Distributed systems | How do replicas, shards, clocks, and consensus affect correctness? |
| Processing | When should work run in batches, and when should events flow continuously? |
| Responsibility | What should be collected, retained, shared, and deleted? |
Follow the modules in order for a connected explanation, or use the syllabus to revisit a specific topic.
A practical study method
For each lesson, write down the mechanism, the assumptions it relies on, and the failure mode it prevents.
- Read the explanation and sketch the data flow.
- Walk through an ordinary request, then repeat the trace with one component unavailable.
- Compare the approach with an alternative and identify the trade-off.
- Keep a short example or question in your own notes.
- Mark the lesson as understood when you can explain it without looking back.
Use the module recap to connect the individual mechanisms. Revisit any lesson whose assumptions remain unclear.