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