sql >> Databasteknik >  >> RDS >> Oracle

2PL, rigorös vs strikt modell, finns det någon fördel?

Vad är Two-Phase Locking (2PL) Protocol?

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

Vad är nu strikt faslåsning?

Här måste en transaktion hålla alla sina exklusiva lås tills den begår/avbryts.

Men, vad är rigorös 2PL?

Rigorös tvåfaslåsning är ännu strängare:här hålls alla lås tills commit/avbryt. I detta protokoll kan transaktioner serialiseras i den ordning som de genomförs.

Mycket djupare :

Strikt 2PL :

Samma som 2PL men håll alla exklusiva lås tills transaktionen redan har genomförts eller avbrutits. –Det garanterar kaskadlös återvinning

Rigorös 2PL :

Samma som Strict 2PL men håll alla lås tills transaktionen redan har genomförts eller avbrutits. –Det används i dynamiska miljöer där dataåtkomstmönster inte är kända från förhand.

Det finns inget dödläge. Dessutom avbryts en yngre transaktion som begär ett föremål som innehas av en äldre transaktion och startas om med samma tidsstämpel, svält undviks.

Jag hoppas att ovanstående tydliga förklaringar med diagram måste ha gjort dig tydlig om konceptet och fördelarna med rigorös framför den andra.

Tack



  1. Databasdesign

  2. SQL Server 2016 :Tillgänglighetsgruppförbättringar

  3. SQL Server Hög tillgänglighet:Installera SQL Server-failover-klustrad instans del 2

  4. Uppdatera SQL-läge i MySQL