0
0
DBMS Theoryknowledge~10 mins

CAP theorem in DBMS Theory - Step-by-Step Execution

Choose your learning style9 modes available
Concept Flow - CAP Theorem
Start: Distributed database system
CAP Theorem: Pick 2 of 3 guarantees
Consistency
Network partition occurs
Choose: Consistency OR Availability?
CP System
End
This flow shows how the CAP theorem forces a choice between consistency and availability when a network partition happens in a distributed database.
Execution Sample
DBMS Theory
Distributed database has 3 nodes: Node_A, Node_B, Node_C
Client writes value X=10 to Node_A
Node_A replicates to Node_B and Node_C
Network partition splits: {Node_A, Node_B} | {Node_C}
Client reads X from Node_C
CP system: Reject read (Node_C may have stale data)
AP system: Return last known X value (may be stale)
This sequence shows how a network partition forces a distributed database to choose between consistency and availability.
Analysis Table
StepActionCondition/CheckResult/DecisionNext Step
1Client writes X=10 to Node_AN/AWrite accepted at Node_AReplicate to other nodes
2Node_A replicates to Node_B, Node_CNetwork healthy?Yes, all nodes updatedSystem fully consistent
3Network partition occursNode_C cannot reach Node_A or Node_BPartition detectedChoose CP or AP
4Client sends read request to Node_CCan Node_C confirm latest value?No (partitioned from Node_A)Apply CAP trade-off
5CP system responseConsistency prioritizedReject read with errorWait for partition to heal
6AP system responseAvailability prioritizedReturn last known value of XAccept possible staleness
7Partition healsNodes reconnectSync data across all nodesEnd
💡 After partition heals, all nodes synchronize to reach eventual consistency. The CAP trade-off only applies during the partition.
State Tracker
VariableStartAfter Step 2After Step 3After Step 5 (CP)After Step 6 (AP)
X at Node_Aundefined10101010
X at Node_Bundefined10101010
X at Node_Cundefined1010 (stale?)Read rejectedReturns 10 (may be stale)
system_statusHealthyConsistentPartitionedUnavailable to Node_CAvailable but inconsistent
Key Insights - 3 Insights
Why can't a distributed system guarantee all three of C, A, and P simultaneously?
When a network partition (P) occurs, the system must choose: either reject requests to stay consistent (CP) or serve possibly stale data to stay available (AP). You cannot have both C and A during a partition, as shown in steps 5 and 6.
What does Partition Tolerance mean and why is it non-negotiable?
Partition tolerance means the system continues operating despite network splits between nodes. In real distributed systems, network failures are inevitable, so P is always required — making the real choice between C and A.
How do real databases handle the CAP trade-off?
CP systems like HBase and MongoDB (in strict mode) reject operations during partitions to maintain consistency. AP systems like Cassandra and DynamoDB continue serving requests and reconcile data after the partition heals.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table at step 5. What does a CP system do when a client reads from a partitioned node?
AReturns the latest value from the primary node
BRejects the read request with an error
CReturns a cached value from the partitioned node
DRedirects the client to another node
💡 Hint
Check the 'Result/Decision' column in step 5 where consistency is prioritized.
According to the variable_tracker, what happens to X at Node_C after an AP system responds during a partition?
AIt is deleted
BIt returns the confirmed latest value
CIt returns a value that may be stale
DIt blocks until the partition heals
💡 Hint
Look at the 'After Step 6 (AP)' column for Node_C.
Why is partition tolerance considered non-negotiable in distributed systems?
AIt is the easiest guarantee to implement
BNetwork failures are inevitable in distributed systems
CClients always prefer partition tolerance over consistency
DDatabases cannot function without partitions
💡 Hint
Think about what happens in real networks spanning multiple data centers.
Concept Snapshot
CAP theorem: distributed systems can guarantee only 2 of 3 properties.
Consistency: all nodes see the same data at the same time.
Availability: every request gets a non-error response.
Partition Tolerance: system works despite network splits.
Since partitions are inevitable, the real choice is C vs A.
Full Transcript
This visual execution shows the CAP theorem in action. A distributed database with three nodes accepts a write and replicates it across all nodes. When a network partition splits Node_C from the others, the system faces a choice. A CP system rejects reads from Node_C to maintain consistency, while an AP system returns the last known value to stay available, accepting possible staleness. Once the partition heals, nodes synchronize to restore consistency. The key insight is that since network partitions are inevitable in distributed systems, the real trade-off is always between consistency and availability.