Chapter 8System Design~1 min read
CAP Theorem आणि Consistency
Distributed Systems चा मूलभूत नियम
CAP Theorem सांगतो की कोणताही distributed system एकाच वेळी तिन्ही properties देऊ शकत नाही — Consistency, Availability, Partition Tolerance — फक्त दोनच मिळतात.
CAP Triangle
text
Consistency
/\
/ \
/ \
/ CA CP\
/ /\ \
/ / \ \
─────────────
Availability Partition
Tolerance
C = Consistency: सगळ्या nodes वर same data दिसतं
A = Availability: System नेहमी respond करतो
P = Partition Tolerance: Network failures असतानाही चालतंCAP चे तीन combinations
- ▸CP (Consistency + Partition Tolerance): Network partition झाल्यावर availability sacrifice होतो. Example: HBase, Zookeeper, MongoDB (default settings)
- ▸AP (Availability + Partition Tolerance): Network partition झाल्यावर stale data मिळू शकतो. Example: Cassandra, CouchDB, DNS
- ▸CA (Consistency + Availability): Partition Tolerance नाही — single node databases. Example: Traditional RDBMS (single node)
📌
Modern distributed systems मध्ये Network Partition inevitable आहे — म्हणून प्रत्येकाला CP किंवा AP निवडावं लागतं. CA practically impossible आहे distributed systems मध्ये.
ACID vs BASE
Two consistency models
text
ACID (SQL Databases):
A = Atomicity: Transaction पूर्ण होतं किंवा काहीच नाही
C = Consistency: Database valid state मध्येच राहतो
I = Isolation: Concurrent transactions एकमेकांना affect नाही
D = Durability: Committed data survive करतो (crash नंतरही)
BASE (NoSQL Databases):
BA = Basically Available: नेहमी respond करतो (stale data ok)
S = Soft State: Time नुसार data change होऊ शकतो
E = Eventually Consistent: काही वेळाने सगळ्या nodes consistent होतात
Example: Instagram like count — exact count real-time दाखवणं
critical नाही. Eventual consistency ok.
Bank balance — ACID हवं, exact consistency critical.✅ Key Points — लक्षात ठेवा
- ▸CAP: Consistency, Availability, Partition Tolerance — फक्त 2 मिळतात
- ▸CP: Zookeeper, MongoDB | AP: Cassandra, DynamoDB
- ▸Partition Tolerance: always needed in distributed systems
- ▸ACID: SQL databases — strong consistency
- ▸BASE: NoSQL — eventual consistency, high availability
0/11 chapters पूर्ण