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