Sobes.tech
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).