Database.Middle.What is partition tolerance ?

🧱 What Is Partition Tolerance?

Partition Tolerance means:

The system keeps working even if parts of the network can’t talk to each other.

Imagine a system made of multiple servers (or nodes), often in different data centers or locations. If the network between them breaks, the system is said to have a network partition — like a split in communication.

🔌 Think of it Like:

Two parts of your system are on walkie-talkies, and suddenly the signal dies between them. They’re now in separate rooms, and can’t talk — this is a partition.


🧠 Partition Tolerance = “Don’t Crash When Network Breaks”

Even though servers can’t communicate, each side of the system still:

  • Accepts requests
  • Processes what it can
  • Recovers and syncs back up when the connection is restored

🍰 Simple Cake Shop Example (Like Before)

You and your friend run cake shops in two cities. You use an app to sync orders.

  1. A customer places an order in Yekaterinburg.
  2. But suddenly, the internet breaks between your cities.
  3. Your systems can’t sync orders anymore (this is a partition).
  4. With Partition Tolerance, both of you keep taking orders locally.
  5. Later, when the connection returns, you sync the orders.

💡 Key Idea

Partition tolerance = surviving communication failure
The system might:

  • Return slightly outdated data (eventual consistency)
  • Temporarily stop some actions (e.g., writes)
  • But it does not crash

📦 Examples of Partition-Tolerant Systems

SystemBehavior During Partition
CassandraAccepts writes and syncs later (AP system)
MongoDBCan be CP or AP depending on config
DynamoDBAccepts data during partitions, syncs later
KafkaBrokers operate independently if needed

📊 Summary

TermMeaning
PartitionNetwork split — servers can’t talk to each other
ToleranceSystem keeps running despite the split
Why Important?Networks can fail anytime — tolerance keeps service alive

Want a little drawing idea?

Imagine three connected dots (servers) in a triangle. Cut one connection — they’re partitioned. If they keep answering requests, they’re partition-tolerant.