Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Synchronisation paralleler Transaktionen AIFB SS2001 1 4.4Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll.

Ähnliche Präsentationen


Präsentation zum Thema: "Synchronisation paralleler Transaktionen AIFB SS2001 1 4.4Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll."—  Präsentation transkript:

1 Synchronisation paralleler Transaktionen AIFB SS2001 1 4.4Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll Kollisionsstrategie 4.4.2 Sperrverfahren Kriterien zur Klassifikation:

2 Synchronisation paralleler Transaktionen AIFB SS2001 2 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (2/18) Sperrmodi und Sperrobjekte Lesesperre (Shared Lock) erlaubt dem Sperrenbesitzer das Lesen des Objektes. Andere Transaktionen dürfen ebenfalls Lesesperren setzen. Das Setzen von Schreibsperren ist ihnen verboten. Schreibsperre (Exclusive Lock) erlaubt dem Sperrenbesitzer sowohl lesenden als auch schreibenden Zugriff auf das Objekt. Anderen Transaktionen ist jeglicher Zugriff auf das Objekt verwehrt. (Die Aufteilung in Lese- und Schreibsperren erhöht die Parallelität, wenn nur Lesesperren eingesetzt werden.)

3 Synchronisation paralleler Transaktionen AIFB SS2001 3 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (3/18) Verträglichkeitsmatrix für Sperren: Ein Eintrag in der Matrix gibt an, ob die beantragte Sperre x - exclusive lock (Schreibsperre) s - shared lock (Lesesperre) mit den vorhandenen Sperren verträglich ( ) oder unverträglich (-) ist. Verträglichkeitsmatrix (je Objekt) vorhandene beantragte Sperre Sperren s x keine s - x - -

4 Synchronisation paralleler Transaktionen AIFB SS2001 4 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (4/18) Datenbank Area Relation Satz Datenelement Abwägung: Je feiner die Sperreinheiten gewählt werden, desto mehr Parallelität zwischen den Transaktionen, aber auch desto größer wird auch der Verwaltungsaufwand für die Sperren. Granularität: Welche Objekte werden gesperrt? Mögliche Objekte:

5 Synchronisation paralleler Transaktionen AIFB SS2001 5 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (5/18) Beispiel 4-3: Reisebüro Schalter 1:Erhöhe Zimmerpreise aller Hotels. Zugriff auf jeden Satz der Relation Hotel (Sperrobjekt: Relation Hotel) Schalter 4: Buche für Müller einen Flug, ein Hotelzimmer und einen Mietwagen. Zugriff auf jeweils genau einen Satz der Relationen Hotel, Flug und Auto (Sperrobjekte: je ein Tupel in Relation Hotel, Flug, Auto)

6 Synchronisation paralleler Transaktionen AIFB SS2001 6 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (6/18) Sperrhierrachie: Falls Sperren auf unterschiedlichen Ebenen setzbar sind (z.B. Datenbank, Area, Relation, Satz, Datenelement), dann wird von einer Sperrhierarchie gesprochen. Problem: Sperren können überlappen! (Vor dem Sperren eines Objektes x muss überprüft werden, ob x in einem Objekt enthalten ist, das bereits gesperrt ist) Sperrprotokolle Zunächst: zwei Befehle stehen zur Verfügung lock(x) - setze Sperre auf Objekt x. unlock(x) - mache Sperre auf Objekt x rückgängig. Dann: Regeln für das Setzen von Sperren

7 Synchronisation paralleler Transaktionen AIFB SS2001 7 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (7/18) Beispiel 4-4: Reisebüro (Fortsetzung) Folgend Variante für Situation 4 (s.o) mit Sperren gegeben: Zu der Tabelle: - Mietpreis ist für beide Städte wieder unterschiedlich. - Datenbank also trotz Sperren inkonsistent. Seite 10 s.44

8 Synchronisation paralleler Transaktionen AIFB SS2001 8 4.4.2 Sperrverfahren 4.4.2 Sperrverfahren (8/18) Schalter 2 Schalter 5 lock(Auto-Tupel LA) readAuto.Preis(LA) [=100] Preis:= Preis * 1,1 writeAuto.Preis(LA) [=110] unlock(Auto-Tupel LA) lock(Auto-Tupel LA) readAuto.Preis(LA) [=110] Preis:= Preis + 20 writeAuto.Preis(LA) [=130] unlock(Auto-Tupel LA) lock(Auto-Tupel SF) readAuto.Preis(SF) [=100] Preis:= Preis + 20 writeAuto.Preis(SF) [=120] unlock(Auto-Tupel SF) lock(Auto-Tupel SF) readAuto.Preis(SF) [=120] Preis:= Preis * 1,1 writeAuto.Preis(SF) [=132] unlock(Auto-Tupel SF) Zurück zur Situation 4 s.42


Herunterladen ppt "Synchronisation paralleler Transaktionen AIFB SS2001 1 4.4Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll."

Ähnliche Präsentationen


Google-Anzeigen