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:
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.