Part 3 β Advanced ACID Concepts, Tradeoffs & Production Behavior
maang.io System Design Series
What is this?
Parts 1 and 2 lived inside one database, where ACID is a solved problem. This part is what happens when you outgrow one database β when your data is spread across continents, replicas, and microservices, and the laws of physics start charging rent.
Here's the uncomfortable truth that drives everything: a network can fail, and when it does, you must choose. You can keep serving requests and risk handing back stale or conflicting data, or you can refuse to answer until you're certain you're correct. You can't have both. That single, unavoidable fork is what splits the database world into two philosophies β the strict ACID camp and the relaxed BASE camp β and learning when to stand in which camp is the senior skill this whole chapter is building toward.
The one-line idea: in a single box, ACID is free-ish; the moment data spans machines, consistency, availability, and surviving network splits become a genuine trade-off β and the engineering art is choosing where to spend your correctness budget.
Sign in to continue reading
The rest of this lesson is available with a free account. Signing in with Google or Microsoft is free.
Sign in to read the full lesson