The CAP Theorem in Plain Language
CAP teoremasi oddiy tilda
Ikki shahardagi bitta kitob do'konining ikkita FILIALINI tasavvur qiling — ikkalasida ham "qolgan nusxalar soni" yozilgan bitta xuddi shunday reestr bor. Bir kuni ikki filial orasidagi telefon aloqasi UZILADI. Endi har bir filial mustaqil ishlashda davom etadimi (mijozga xizmat ko'rsatib, o'z reestrini yangilaydi), yoki aloqa tiklanmaguncha SOTUVNI TO'XTATIB qo'yadimi (chunki ikkinchi filial reestrini bilmaydi)? Aynan shu tanlov — CAP teoremasining mohiyati.
CAP teoremasi — tarqatilgan (distributed) tizim BIR VAQTNING o'zida quyidagi UCHTA xususiyatning FAQAT IKKITASINI to'liq ta'minlay olishini aytadi: Consistency (izchillik — har bir o'qish so'rovi ENG SO'NGGI yozilgan ma'lumotni qaytaradi), Availability (mavjudlik — har bir so'rov, xato bermasdan, JAVOB oladi), Partition Tolerance (bo'linishga chidamlilik — tizim, qismlar orasidagi tarmoq aloqasi UZILGANDA HAM, ishlashda davom etadi).
Amalda, tarmoq aloqasi UZILISHI (partition) — ERTAMI-KECHMI sodir bo'ladigan voqea, shuning uchun Partition Tolerance'dan voz kechib bo'lmaydi — real tarqatilgan tizim buni HAR DOIM tanlashga MAJBUR. Demak, haqiqiy tanlov faqat Consistency va Availability ORASIDA qoladi: aloqa uzilgan paytda, filial (server) — "eski, ehtimol noto'g'ri ma'lumot bilan bo'lsa ham javob beraman" (Availability) yoki "aniq bilmaguncha javob bermayman" (Consistency) deydi.
| Tanlov | Nima bo'ladi | Qachon mos |
|---|---|---|
| CP (Consistency + Partition Tolerance) | Aloqa uzilganda, noaniq javob berishdan ko'ra XATO qaytaradi | Bank hisobi qoldig'i, chipta band qilish — noto'g'ri ma'lumot berishdan ko'ra kutish afzal |
| AP (Availability + Partition Tolerance) | Aloqa uzilganda ham, biroz ESKIROQ ma'lumot bilan bo'lsa ham javob beradi | Ijtimoiy tarmoqdagi "like" soni, mahsulot sharhlari — biroz eski ko'rinish katta muammo emas |
Muhim tushunish kerak bo'lgan narsa: bu tanlov "har doim" emas, faqat aloqa UZILGAN paytda amal qiladi — oddiy, muammosiz ishlayotgan paytda tizim ham Consistency, ham Availability'ni birga ta'minlay oladi. CAP teoremasi faqat "eng yomon holatda (tarmoq uzilganda) nima QURBON qilinadi" haqida — va bu tanlov, keyingi darsda ko'radigan consistency modellari orqali amalga oshiriladi.
Key Takeaway
Key Takeaway:
Tarqatilgan tizim, tarmoq aloqasi uzilgan paytda, Consistency (har doim eng aniq ma'lumot) va Availability (har doim javob berish) orasida BIRINI tanlashga majbur bo'ladi — ikkalasini birga to'liq ta'minlab bo'lmaydi. Qaysi birini tanlash — ma'lumotning noto'g'ri bo'lishi qanchalik xavfli ekaniga bog'liq.
NEXT UP
Consistency Models: Strong vs Eventual