If you've prepared for a system design interview, you've probably come across the CAP Theorem.
It sounds complicated at first, but the idea is surprisingly simple when you look at products you use every day.
Take Netflix and Uber.
Both are massive distributed systems serving millions of users. Yet they make completely different architectural decisions.
Why?
Because their business priorities are different.

What is CAP Theorem?
CAP Theorem says that during a network partition (when servers can't communicate properly), a distributed system can guarantee only two of these three:
Consistency – Everyone sees the latest data. Availability – Every request gets a response. Partition Tolerance – The system keeps running despite network failures.
Since network failures are inevitable, modern distributed systems must support Partition Tolerance.
That leaves one important question:
Should your system prioritize Consistency or Availability?
Why Netflix Chooses Availability
Imagine you finish watching a movie.
Your Continue Watching section still says you have 10 seconds left.
Would you care?
Probably not.
Netflix would rather let you continue streaming than stop the service until every server agrees on your latest watch progress.
A little stale data is acceptable because the viewing experience stays uninterrupted.
For Netflix, availability matters more than perfect consistency.
Why Uber Chooses Consistency
Now imagine booking an Uber.
Because of inconsistent data, two drivers are assigned to the same ride.
Or your payment is charged twice.
That's no longer a small inconvenience—it's a broken experience.
Uber would rather make you wait a few extra milliseconds than return incorrect information.
For Uber, consistency matters more than maximum availability.
The Real Lesson
Many developers ask:
"Which database should I use?"
A better question is:
"What can my business afford to compromise?"
If users can tolerate slightly outdated information, availability may be the right choice.
If incorrect data could lead to financial loss or poor user experience, consistency becomes more important.
Architecture isn't driven by technology.
It's driven by business requirements.
Final Thoughts
CAP Theorem isn't about finding the best architecture.
There isn't one.
Netflix and Uber solve similar distributed systems problems but make different decisions because their products have different priorities.
The next time you're designing a system, don't start by choosing a database.
Start by asking:
What's worse for my users: waiting a little longer, or seeing the wrong data?
The answer will guide your architecture better than any technology comparison ever could.