CAP tétel

A Wikipédiából, a szabad enciklopédiából

A CAP tétel kimondja, hogy egy-egy konkrét elosztott rendszer a három alapvető képesség közül (konzisztencia, rendelkezésre állás, particionálás-tűrés) legfeljebb kettőt tud megvalósítani.

Elosztott rendszerek alapképességei[szerkesztés | forrásszöveg szerkesztése]

Az elosztott rendszerek három alapképességgel írhatok körül, aszerint, hogy a képességekkel rendelkeznek-e, vagy csak részben, korlátozottan rendelkeznek velük, vagy egyáltalán nincs meg bennük.

Konzisztencia (Consistency)[szerkesztés | forrásszöveg szerkesztése]

Az adatbázis azon tulajdonsága, ami biztosítja azt, hogy csak konzisztens adatok kerülnek letárolásra. Ezt az ACID elvet alkalmazva valósítják meg a különböző adatbázis kezelők. Azonban ha egy elosztott alkalmazást nem egy adatbázis szolgál ki, hanem az adatbázis is elosztott, akkor ezen elv megtartása nem triviális.

Rendelkezésre állás (Availability)[szerkesztés | forrásszöveg szerkesztése]

A rendszer hibatűrését hivatott kifejezni, vagyis a rendszer által nyújtott szolgáltatás az esetek hány százalékában elérhető.

Particionálás-tűrés (Partition tolerability)[szerkesztés | forrásszöveg szerkesztése]

A rendszer megbízhatóságát jelenti, azaz ha nem lép fel kivédhetetlen hiba (például hálózat szakadás) a rendszer minden kérdésre a megfelelő választ adja-e

Gyakorlati megvalósítások[szerkesztés | forrásszöveg szerkesztése]

A valós életben használt rendszereknél igyekeznek úgy kialakítani az architektúrát, hogy a három alap képesség mindegyikével, ha korlátozottan is, de rendelkezzen a rendszer. Ezt úgy érik el, hogy az egyes képességekből engedményeket tesznek egy másik képesség javára.

  • Particionálás-tűrés csökkentése: a megszorítás feloldható, ha minden adatot, ami részt vesz egy tranzakcióban egy gépen tartunk. A megoldás hátránya, hogy az alkalmazás szempontjából az adatbázis, csak vertikálisan lesz skálázható (minden sebesség növekedése szolgáló bővítés, csak egy gépben lehetséges, aminek fizikai korlátai vannak)
  • Rendelkezésre állás csökkentése: ha a rendszer particionálódik, mert mondjuk egyik adatbázisban eltérő adat szerepel, mint a másikban, akkor a partíciók megszűnéséig leállítjuk az alkalmazás és az adatbázis kezelőkre bízzuk az egységesítést.
  • Konzisztencia enyhítése: vannak alkalmazások, amelyek nem követelik meg, hogy minden esetben a legfrissebb adatot adják vissza. Ezeknél egy bizonyos méretű időablakon belül elképzelhető, hogy korábbi adatokkal szolgálnak. Például a Google találatai közé 1-2 hét elteltével kerül be egy-egy új oldal, vagy a DNS- (Domain Name System) regisztrációt követően egy hetet kell legalább várni, míg a domain használhatóvá válik.

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Fordítás[szerkesztés | forrásszöveg szerkesztése]

Ez a szócikk részben vagy egészben a CAP theorem című angol Wikipédia-szócikk fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.

Források[szerkesztés | forrásszöveg szerkesztése]