The Computing Series

Tradeoffs

AT1 — Consistency vs. Availability

At scale, data is replicated across machines. A replica may be stale. If a read must return consistent data, it must contact all replicas and wait for the most recent — adding latency and reducing availability. If availability is prioritised, stale reads are acceptable. Every database scaling decision involves this tradeoff explicitly.

AT12 — Tradeoffs (the meta-constraint)

Scale does not create new tradeoffs. It forces existing tradeoffs to be made explicitly. A single-machine system can silently accept poor latency, unbounded memory, and no redundancy — none of these matter at 1,000 users. At 1,000,000 users, each matters enough to break the system. Scale removes the option of deferring the decision.


Read in the book →