Consistency Models: Strong vs Eventual
Izchillik modellari: qat'iy va yakuniy izchillik
Guruh chatiga xabar yozganingizni tasavvur qiling: barcha a'zolar bu xabarni AYNAN BIR VAQTDA ko'radimi? Yo'q — birov darhol ko'radi, birovning telefoni o'sha payt tarmoqdan uzilgan bo'lishi mumkin va xabar bir necha soniyadan keyin YETIB boradi. Lekin OXIR-OQIBAT, hamma xuddi shu xabarni ko'radi. Bu — eventual consistency (yakuniy izchillik)ning kundalik hayotdagi aniq misoli.
CAP teoremasi darsida ko'rgan Consistency/Availability tanlovi, amalda ikkita asosiy MODEL orqali amalga oshiriladi. Strong consistency (qat'iy izchillik) — ma'lumot yozilgandan so'ng, KEYINGI har qanday o'qish so'rovi, QAYERDAN kelishidan qat'iy nazar, DARHOL yangi qiymatni qaytaradi — bank hisobingizga pul tushgach, darhol qoldiq YANGILANGANINI ko'rishingiz kerak.
Eventual consistency (yakuniy izchillik) — ma'lumot yozilgandan so'ng, turli joylardagi nusxalar DARHOL emas, balki BIR OZ VAQTDAN so'ng (millisekund yoki soniyalar ichida) bir-biriga MOS keladi. Bu payt oralig'ida turli foydalanuvchilar biroz ESKIROQ nusxani ko'rishi mumkin — lekin OXIR-OQIBAT, hamma bir xil ma'lumotni ko'radi.
| Strong consistency | Eventual consistency | |
|---|---|---|
| Tezlik | Sekinroq — har bir yozuv barcha nusxalarga tasdiqlanishi kerak | Tezroq — yozuv darhol qaytadi, tarqalish orqada davom etadi |
| Mavjudlik (CAP bo'yicha) | Aloqa uzilganda, ba'zi so'rovlar rad etilishi mumkin | Aloqa uzilganda ham deyarli har doim javob beradi |
| Mos misol | Bank balansi, chipta band qilish, ombordagi mahsulot soni | Ijtimoiy tarmoq "like"lar, ko'rishlar soni, DNS yozuvlari |
Bu tanlov — Engineering Judgment kursidagi "xato narxi qancha" savolining tizim darajasidagi ko'rinishi: agar ESKIROQ ma'lumot ko'rsatish arzon xato bo'lsa (ijtimoiy tarmoqdagi like soni bir soniya kech yangilansa, hech kim zarar ko'rmaydi), eventual consistency tanlab, tezlik va mavjudlikdan foyda ko'rish mumkin. Agar ESKIROQ ma'lumot QIMMAT xato bo'lsa (ombordagi OXIRGI mahsulotni ikki mijozga sotib yuborish), strong consistency SHART.
Key Takeaway
Key Takeaway:
Strong consistency — har doim ENG YANGI ma'lumot, lekin sekinroq va aloqa uzilganda ko'proq rad javoblari; eventual consistency — tezroq va mavjudroq, lekin qisqa vaqt davomida eskiroq ma'lumot ko'rsatishi mumkin. Tanlov — eskiroq ma'lumotning xato narxiga bog'liq.
NEXT UP
Designing for Failure