Transaktion

11
Transaktion Huang Zhenhao FU Shuai

description

Transaktion. Huang Zhenhao FU Shuai. Definiton: 'ununterbrechbare' Folge von DML-/DDL-Befehlen Eigenschaften: ACID Prinzip Atomicity: "Alles-oder-Nichts"-Eigenschaft Consistency: Erhalt der DB-Konsistenz Isolation: Logischer Einbenutzerbetrieb - PowerPoint PPT Presentation

Transcript of Transaktion

Page 1: Transaktion

Transaktion

Huang Zhenhao

FU Shuai

Page 2: Transaktion

Definiton: 'ununterbrechbare' Folge von DML-/DDL-Befehlen

Eigenschaften: ACID Prinzip• Atomicity: "Alles-oder-Nichts"-Eigenschaft • Consistency: Erhalt der DB-Konsistenz • Isolation: Logischer Einbenutzerbetrieb • Durability: Überleben aller Änderungen trotz beliebiger(erwarteter) • Fehler garantiert (Persistenz)

Kommandos • BOT = Begin of Transaktion (in SQL implizit)• commit = Transaktion soll erfolgreich beendet werden• abort= Transaktion soll abgebrochen werden

Page 3: Transaktion

Anomalien Lost Update• zwei parallele Transaktionen ändern den gl

eichen Datensatz

Dirty Read• eine Transaktion liest Daten die von einer a

nderen Transaktion geschrieben, aber wieder rückgängig gemacht werden

Non-Repeatable Read• die gleiche Leseoperation innerhalb einer T

ransaktion liefert unterschiedliche Ergebnisse

Phantom Reads • eine Transaktion berechnet einen We

rt basierend auf den aktuellen Daten, daraufhin werden neue Daten von einer weiteren Transaktion hinzugefügt und dann arbeitet die erste Transaktion weiter basierend auf den vorher ermittelten Werten

Page 4: Transaktion

Synchronisation

Korrektheitskriterium (Ziel):• logischer Einbenutzerbetrieb, d.h. Vermeidung aller Mehrbenutzeranomalien

Serialisierbarkeit•Die parallele Ausführung einer Menge von n Transaktionen ist serialisierbar, wenn es eine serielle Ausführung der selben Transaktionen gibt, die für einen Ausgangszustand der DB den gleichen Endzustand der DB wie die parallele Transaktionsausführung erzielt.

Page 5: Transaktion

Sperrverfahren

Kompatibiltitätsmatrix:

keine R X

R + + -

X + - -

R: Lese- oder Read (R)-SperrenX: Schreib- oder exclusive (X)-Sperren"+" bedeutet: Sperre wird gewährt"-" bedeutet: Sperrkonflikt

Page 6: Transaktion

Optimierungen

Reduzierung der Beeinträchtigungen:hierarchische Sperrverfahrenreduzierte KonsistenzebeneZeitstempelMehrversionen-AnsatzOptimistische Synchronisation

Page 7: Transaktion

Hierarchische Sperren

Sperrgranulate: Table Spaces, Tables, Rows.

• Sperrgranulat bestimmt Parallelität/Aufwand

feines Granulat reduziert Sperrkonflikte, jedoch sind viele Sperren anzufordern und zu verwalten

„ Hierarchische Verfahren erlauben Flexibilität bei Wahl des

Granulates

Page 8: Transaktion

Konsistenzebenen in SQL

vier Konsistenzebenen (isolation levels) Durch verschiedene Konsistenzebene können verschiedene

Anomalie zu eliminieren. Default: Serializable

Page 9: Transaktion

Zeitstempelverfahren

Zeitstempel:• jedes Objekt hat zwei Zeitstempel

1. wann zuletzt gelesen

2. wann zuletzt geschrieben

jede Transaktion hat einen Zeitstempel: wann begonnen

Bei Zugriffswunsch werden die Zeitstempel verglichen nur, wenn Transaktion jünger ist,

• bei Lesewunsch jünger als der Schreibstempel• bei Schreibwunsch jünger als der Schreib- und der Lesestempel darf sie

zugreifen und den Objektstempel entsprechend setzen

Page 10: Transaktion

MVCC (Multi Version Concurrency Control)

Snapshot Isolation

Jede Connection entspricht „Snapshot Isolation“ von einem Zeitpunkt, wann die TA startet, diese ganze TA basiert auf „Snapshot Isolation“.

Bevor das Ergebnis abgegeben wird, vergleichen dieses mit gegenwärtigem Datenbank

Konflikte Zurücksetzen

Vorteil: • kein Leser wartet auf einen Schreibe • kein Schreiber wartet auf einen Leser

Nachteil: • Mehr Platzbedarf für neue Versionen • keine Serialisierbarkeit zu garantieren

Page 11: Transaktion

Optimistische Synchronisation

Lesephase:• Jede TA führt bei Änderungen auf Kopie in Puffer durch, der für andere TA nicht

zugänglich ist.

Validierungsphase:• Ob die beendigungswillige Transaktion mit paralleler Transaktion in Konflikt steht. • mehr Rücksetzungen als bei Sperrverfahren, aber keine Deadlocks.

Schreibphase:• Ausführung nach einer erfolgreichen Validierungsphase.