Hvad er To-Phase Locking (2PL) protokol?
A transaction is two-phase locked if:
before reading x, it sets a read lock on x
before writing x, it sets a write lock on x
it holds each lock until after it executes the corresponding operation
after its first unlock operation, it requests no new locks
Hvad er nu streng faselåsning?
Her skal en transaktion holde alle sine eksklusive låse, indtil den begår/afbrydes.
Men, hvad er streng 2PL?
Strenge to-faset låsning er endnu strengere:her holdes alle låse indtil commit/abort. I denne protokol kan transaktioner serialiseres i den rækkefølge, de forpligter sig i.
Meget dybere :
Streng 2PL :
Samme som 2PL, men hold alle eksklusive låse, indtil transaktionen allerede er begået eller afbrudt. –Det garanterer kaskadefri gendannelse
Streng 2PL :
Samme som Strict 2PL, men hold alle låse, indtil transaktionen allerede er begået eller afbrudt. –Det bruges i dynamiske miljøer, hvor dataadgangsmønstre ikke er kendt i forvejen.
Der er ingen dødvande. En yngre transaktion, der anmoder om en vare i en ældre transaktion, afbrydes og genstartes med det samme tidsstempel, så sult undgås.
Jeg håber, at ovenstående klare forklaringer med diagram må have gjort dig klar over konceptet og fordelene ved streng fremfor den anden.
Tak