cs243: Datenbanken FS 2014
Transcription
cs243: Datenbanken FS 2014
UNIVERSITÄT BASEL Prof. Dr. Heiko Schuldt Ivan Giangreco, MSc. Nenad Stojnić, MSc. cs243: Datenbanken Übung 7 FS 2014 Abgabe: 30.05.2014 (23:59 Uhr) Aufgabe 1: Rücksetzbarkeit (5 Punkte) Um Transaktionen möglichst parallel ablaufen zu lassen, sollen Sperren so kurz wie möglich gesetzt bleiben. Wir betrachten Transaktionen mit Lese- und Schreibaktionen, die Lesesperren (S) und Schreibsperren (X) anfordern. Wir wollen die beiden Fälle untersuchen, in welchen diese Sperren entweder i) bereits vor Ende oder ii) erst am Schluss der Transaktion freigegeben werden können. a) Wann ergeben sich für Lese- oder Schreibsperren bei den Alternativen i) oder ii) Probleme bei der Rücksetzbarkeit? Beschreiben Sie die möglichen Fehlersituationen. (2 Punkte) b) Bei welcher Sperrgranularität führt das seitenweise Wiederherstellen des Anfangszustandes einer Transaktion zu Problemen? (3 Punkte) Aufgabe 2: Rücksetzbarkeit (15 Punkte) Gegeben seien die folgenden zwei Transaktionen: T 1 = <r1 1 (p) w2 1 (p) w3 1 (s)> T 2 = <w1 2 (s) r2 2 (p) w3 2 (p)> a) Im folgenden Schedule repräsentieren die Operationen X und Y Commit- oder Abortoperationen: S2 = <r1 1 (p) w2 1 (p) w3 1 (s) w1 2 (s) r2 2 (p) w3 2 (p) X Y > Überlegen Sie sich, in welcher Klasse (RC, ACA, ST und RG) der Schedule S2 für folgende Belegungen von X und Y liegt. 1. X = C 1 , Y = C 2 2. X = C 2 , Y = C 1 1 3. X = A2 , Y = C 1 4. X = C 2 , Y = A1 . Was fällt Ihnen hier speziell auf? 5. X = A1 , Y = A2 . Was fällt Ihnen hier speziell auf? (9 Punkte) Betrachten Sie den folgenden Schedule, in welchem die Commit- resp. Abortoperationen der Transaktionen noch nicht enthalten sind: S3 = <r1 1 (p) w2 1 (p) w1 2 (s) w3 1 (s) r2 2 (p) w3 2 (p)> b) In den Schedule S3 sollen an beliebiger Stelle Commit- resp. Abortoperationen für die Transaktionen T 1 und T 2 eingefügt werden. Formulieren Sie exakt, welche Bedingungen erfüllt sein müssen, damit der ergänzte Schedule in RC, ACA, ST resp. RG zu liegen kommt. (6 Punkte) Aufgabe 3: Logging und Recovery (10 Punkte) Nach einem Crash bei der Bearbeitung der Datenbank X beinhalten die Seiten p die Logsequenznummer (LSN) 3, q die LSN 9, s die 4, t die LSN 0 und u die LSN 0. (Initial enthält jede Seite die LSN 0.) Die dazugehörige Logdatei beinhaltet die folgenden Logsätze: LSN 1 2 3 4 5 6 7 8 9 10 Seite/Aktion p q p s u t EOT p q EOT Transaktion 1 1 1 2 3 1 1 2 3 2 Bestimmen Sie die Verlierer und Gewinner beim Warmstart und geben Sie die in der Redo und Undo-Phase benötigten Logsätze an. 2