Sobes.tech
Middle+

Care este sensul teoremei CAP?

sobes.tech AI

Răspuns de la AI

Teorema CAP (Consistență, Disponibilitate, Toleranță la Partajare) afirmă că într-un sistem distribuit, pot fi garantate simultan doar două dintre cele trei proprietăți:

  • Consistență (Consistency): Toți nodurile văd aceleași date în același timp. Dacă datele sunt modificate pe un nod, această modificare se reflectă imediat pe toate celelalte.
  • Disponibilitate (Availability): Sistemul garantează că fiecare solicitare primește un răspuns (fără erori). Orice nod funcțional poate procesa solicitări.
  • Toleranță la partajare (Partition Tolerance): Sistemul continuă să funcționeze chiar dacă, din cauza problemelor de rețea, se divide în mai multe clustere izolate, iar nodurile nu pot comunica între ele.

În cazul unei diviziuni de rețea (Partition Tolerance), sistemul trebuie să aleagă între coerență și disponibilitate:

  • Sistem CP: Preferă Coerența (Consistency) în fața Disponibilității (Availability). În timpul unei diviziuni, sistemul poate deveni inaccesibil pentru a garanta că toate nodurile accesibile văd date coerente. Solicitările de scriere pot fi respinse.
  • Sistem AP: Preferă Disponibilitatea (Availability) în fața Coerenței (Consistency). În timpul unei diviziuni, sistemul rămâne accesibil, dar datele pot fi incoerente între partiții. După rezolvarea diviziunii, datele trebuie sincronizate.
  • Sistem CA: Existent teoretic, dar nu poate exista în condiții reale de rețea unde diviziunile sunt inevitabile. Într-un sistem distribuit, trebuie întotdeauna să se ia în considerare Toleranța la Partajare.

Teorema CAP nu afirmă că un sistem nu poate fi simultan coerent și disponibil în condiții normale fără diviziuni. Se aplică în special în momentele de diviziune a rețelei.

Alegerea între Coerență și Disponibilitate în condiții de Toleranță la Partajare depinde de cerințele sistemului:

  • Sistemele bancare, unde precizia datelor este crucială, aleg adesea CP.
  • Sistemele de social media sau magazinele online, unde disponibilitatea continuă este importantă, chiar și cu o anumită întârziere în sincronizarea datelor, aleg adesea AP.