4.4.2 Sperrverfahren
(9/18)
Regeln für das Setzen von Sperren
• Eine Transaktion ist wohlgeformt, wenn sie jedes
Objekt, das sie ändern (lesen) möchte, vorher mit einer
Schreib(Lese-) Sperre versieht.
• Eine Transaktion ist zweiphasig, wenn sie kein Objekt
mehr sperrt, nachdem sie das erste Objekt freigegeben hat.
 AIFB
„Jede Transaktion ist wohlgeformt und zweiphasig “.
Synchronisation paralleler Transaktionen
Zwei-Phasen-Sperrprotokoll:
SS2001
Um die Serialisierbarkeit zu erreichen, muss das
Setzen und Sperren Regeln unterworfen werden.
1
4.4.2 Sperrverfahren
(10/18)
 Eine Transaktion besteht aus einer Wachstumsphase (in der
alle Sperren gesetzt werden) und einer Schrumpfungsphase (in
SS2001
der alle Sperren freigegeben werden).
Zeit
Zweiphasige Transaktion
Synchronisation paralleler Transaktionen
 AIFB
gesperrte Objekte
2
4.4.2 Sperrverfahren
(11/18)
Varianten des Zwei-Phasen-Sperrprotokolls
gesperrte
Objekte
Transaktion bei „Preclaiming“
Zeit
gesperrte
Objekte
Transaktion bei strikter Zweiphasigkeit u. Preclaiming
Zeit
 AIFB
Zeit
SS2001
Strikt zweiphasige Transaktion
Synchronisation paralleler Transaktionen
gesperrte
Objekte
3
4.4.2 Sperrverfahren
(12/18)
• Menge gesperrter Objekte ist i. allg.Obermenge der
tatsächlich benötigten Objekte.
SS2001
Probleme beim Preclaiming:
( Reduzierung der Parallelität im System)
• Es muss möglich sein, die Menge aller benötigten Objekte
im voraus exakt zu bestimmen.
Synchronisation paralleler Transaktionen
• Objekte werden länger als nötig gesperrt.
 AIFB
(insbesondere bei datenabhängigen Transaktionsabläufen)
4

4.4.2 Sperrverfahren