Lösung 5

Werbung
Lehrstuhl für Praktische Informatik III
Prof. Dr. Guido Moerkotte
Email: [email protected]
Norman May
B6, 29, Raum C0.05
68131 Mannheim
Telefon: (0621) 181–2517
Email: [email protected]
Transaktionssysteme
Sommersemester 2005
5. Übungsblatt
18. Mai 2005
Aufgabe 1
Schreiben Sie ein Programm, das überprüft, ob eine Historie folgende Eigenschaften
erfüllt:
• rücksetzbar (RC).
• vermeidet kaskadierendes Rücksetzen (ACA).
• strikt.
Testen Sie Ihr Programm.
Lösung
siehe Code.
Aufgabe 2
Aufgabe 2 a)
Warum hilft Serialisierbarkeit, die Anomalien von Blatt 2 zu vermeiden? Welche
Anomalien können bei serialisierbaren Historien nicht auftreten?
Lösung
SR
• Non-repeatable read und lost update können nicht in serialisierbaren Historien
auftreten.
• Dirty Reads in abgeschlossener Projektion unproblematisch. Aborts und Dirty Reads unproblematisch, wenn Historie rücksetzbar ist.
Aufgabe 2 b)
1
Erläutern Sie, welche Auswirkungen die Einhaltung der Eigenschaften RC, ACA
und ST aus der Vorlesung auf die Recovery haben. Begründen Sie Ihre Meinung.
Lösung
RC gewährleistet Korrektheit von Recovery
• w1 [x]r2 [x]w2 [y]c2 ?: Problem bei a1 , Glück bei c1
• w1 [x]r2 [x]w2 [y]c2 ?: OK, bei serialisierbarer Historie.
ACA kein Lesen von geänderten Daten
• klar, nach Definition
• bessere Effizienz durch Vermeidung von kaskadierenden Aborts
ST ermöglicht physisches Logging (Before/After-Images)
• Die Bedingungen von Striktheit stellen sicher, daß Änderungsoperationen
nur auf Daten arbeiten, die comittet sind. Daher kann das Before-Image als
Zustand vor Ausführung der Änderungsoperation verwendet werden.
• Beispiel für strikte Historie und sei x = 1: w1 [x = 2]c1 w2 [x = 3]a2 mit
before-images x = 1 und x = 2.
• Beispiel für nicht strikte Historie und sei x = 1: w1 [x = 2]w2 [x = 3]c1 a2 mit
before-images x = 1 und x = 1.
• Im ersten Fall würde das korrekte Before-Image (x = 2) beim Undo verwendet. Im zweiten Fall würde das falsche Before-Image (x = 1 statt x = 2)
beim Undo verwendet.
2
Herunterladen