Middle
Ce este teorema CAP?
sobes.tech AI
Răspuns de la AI
Teorema CAP (cunoscut și ca Teorema Brewer) afirmă că într-un sistem de calcul distribuit nu este posibil să se asigure simultan:
- Consistența (Consistency): Toate nodurile văd aceleași date în același moment. Orice operație de citire obține cele mai recente date scrise.
- Disponibilitatea (Availability): Fiecare solicitare primește un răspuns nevid, indiferent de starea celorlalte noduri. Sistemul este întotdeauna disponibil pentru operații de citire și scriere.
- Toleranța la partiții (Partition Tolerance): Sistemul continuă să funcționeze în ciuda pierderii comunicării între noduri (diviziuni de rețea).
În condițiile de partiție de rețea ($P$), sistemul trebuie să aleagă între coerență ($C$) și disponibilitate ($A$).
- Sistem CA: Presupune absența partițiilor de rețea. În cazul în care apar, sistemul devine inaccesibil sau incoerent. Exemple: baze de date relaționale clasice cu replicare sincronă în cadrul unei rețele locale.
- Sistem CP: Sacrifică disponibilitatea în favoarea coerenței în timpul unei partiții de rețea. Dacă un nod nu poate contacta majoritatea, nu răspunde la solicitări pentru a garanta coerența datelor. Exemple: Zookeeper, etcd, sisteme distribuite care utilizează protocoale de consens precum Paxos sau Raft.
- Sistem AP: Sacrifică coerența în favoarea disponibilității în timpul unei partiții de rețea. Sistemul continuă să răspundă la solicitări, dar poate furniza date învechite sau conflictuale. Coerența eventuală se atinge ulterior. Exemple: DynamoDB, Cassandra, MongoDB (implicit în unele configurații).
Teorema CAP se aplică sistemelor de stocare a datelor distribuite. În sistemele reale, adesea trebuie să faci compromisuri și să alegi modelul cel mai potrivit pentru cerințele specifice ale aplicației.