Kétfázisú zárási protokoll

A rendelési képesség fogalmát először az Esvaran javasolta kétfázisú zárolási protokoll formájában.

A kétfázisú zárolási protokoll a következőket tartalmazza:

1. Mielőtt bármilyen objektummal végrehajtaná a műveleteket, a tranzakciónak le kell zárnia ezt az objektumot.

2. A zár eltávolítása után a tranzakciónak nem szabad más zárolást okoznia.

A protokollban használt tranzakciók típusonként nem különböznek, és kizárólagosnak tekinthetők (pl. X-zárak).

Az Eswaran tétele. Ha a keverék összes tranzakciója kétfázisú zárolási protokollnak van kitéve, akkor minden átfedéses grafikon esetében lehetőség van a megrendelésre.

A kétfázisú reteszelő protokollt két fázis jellemzi:

  • 1 fázis - növelése zárak. Ebben a fázisban blokkolva van, és a munkát zárolt objektumokkal végzik.
  • 2 fázis - a zárak eltávolítása. Ebben a fázisban a zárak csak felszabadulnak. Folytatódhat a korábban lezárt adatokkal végzett munka.

Az ilyen protokollra vonatkozó ügylet mûködését az 1. ábrán bemutatott sémában lehet ábrázolni:

Kétfázisú zárási protokoll

1. ábra Egy tranzakció működése kétfázisú záró protokoll használatával

A 2. ábra egy tranzakció példáját mutatja be, amely nem tartja be a kétfázisú zárat:

2. ábra Tranzakció, amely nem tartja be a kétfázisú zárat

A gyakorlatban általában a második fázis egy tranzakció befejeződéséig (vagy rollback tranzakció) van csökkentve, az összes zárolás egyidejű eltávolításával.

Következmény. Ha néhány ügylet Olyan nem engedelmeskedik a protokoll kétfázisú zár (és ennélfogva áll legalább két zárási és nyitási művelet), akkor mindig lehet egy másik tranzakciós B, amely, ha váltakozva teljesítő együtt A vezet a grafikon, amely nem tartozik a ésszerűsítése és ennek megfelelően helytelen.

Kapcsolódó cikkek