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.
Progress is saved on this device.