Middle
Mis on CAP teoreem?
sobes.tech AI
Vastus AI-lt
CAP-teorema (tuntud ka ka Brouera teorema) väidab, et jaotatud arvutussüsteemis ei ole võimalik samaaegselt tagada:
- Konsistentsus (Consistency): Kõik sõlmed näevad samu andmeid samal ajal. Iga lugemine saab viimased kirjutatud andmed.
- Kättesaadavus (Availability): Iga päring saab mitte-tühja vastuse, olenemata teiste sõlmede seisundist. Süsteem on alati kättesaadav lugemis- ja kirjutamisoperatsioonideks.
- Partition Tolerance (Partitsiooni taluvus): Süsteem jätkab tööd, hoolimata sõlmede ühenduse kadumisest (võrgu jaotused).
Võrgu jaotuse tingimustes ($P$), süsteem peab valima kas konsistentsuse ($C$) või kättesaadavuse ($A$).
- CA süsteem: Eeldab, et võrgu jaotusi ei ole. Nende tekkimisel muutub süsteem kas mittesaadavaks või ebakonsistentseks. Näited: klassikalised relatsioonilised andmebaasid sünkroniseeritud replikatsiooniga lokaalses võrgus.
- CP süsteem: Ohverdab kättesaadavust kasuks konsistentsusele võrgu jaotuse ajal. Kui sõlm ei saa ühendust suurema osa sõlmedest, lõpetab ta vastamise päringutele, et tagada andmete järjepidevus. Näited: Zookeeper, etcd, jaotatud süsteemid, mis kasutavad konsensuse protokolle nagu Paxos või Raft.
- AP süsteem: Ohverdab konsistentsuse kasuks kättesaadavusele võrgu jaotuse ajal. Süsteem jätkab vastamist päringutele, kuid võib pakkuda vananenud või konflikti andmeid. Konsistentsus saavutatakse hiljem (lõplik konsistents). Näited: DynamoDB, Cassandra, MongoDB (vaikimisi mõnes konfiguratsioonis).