study
study
Books you read, turned into labs you run. Each exercise makes you predict a specific behavior, run the real thing, and check your prediction against a real transcript — the gap is where the mental model gets built.
Designing Data-Intensive Applications
Kleppmann & Riccomini, 2nd ed. (2025).
-
Ch. 2 — Tail-Latency Amplification
— a backend call slow just 1% of the time, fanned out to 100 parallel calls, makes 63% of end-user requests slow. Predict "still ~99% fast"; measure ~37%.
-
Ch. 2 — The Mean Hides the Tail
— for right-skewed latency, 69% of requests are faster than "average," yet p99 is 6× the mean. The average overstates the typical request and understates the tail at once.
-
Ch. 2 — Averaging Percentiles Is a Lie
— average ten servers' p99s and you land 21% below the true pooled p99. Predict "close enough"; measure the gap.
-
Ch. 3 — ADD COLUMN Is Instant, Until It Isn't
— adding a
NOT NULL column with a default to a 10M-row Postgres table takes 0.8 ms, not the full rewrite everyone predicts — but a volatile default rewrites it in ~8 s.
-
Ch. 3 — Reachability Needs Recursion
— "is Boise in North America?" A two-level join silently answers no (it's 4 hops deep);
WITH RECURSIVE gets it right at any depth. A fixed join count can't express transitive reachability.
Source: github.com/atharh/study · each exercise's .md is the source of truth; the .html is its rendered companion.