1 / 11

Transaktion

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

hien
Download Presentation

Transaktion

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Transaktion Huang Zhenhao FU Shuai

  2. 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

  3. Anomalien • Lost Update • zwei parallele Transaktionen ändern den gleichen Datensatz • Dirty Read • eine Transaktion liest Daten die von einer anderen Transaktion geschrieben, aber wieder rückgängig gemacht werden • Non-Repeatable Read • die gleiche Leseoperation innerhalb einer Transaktion liefert unterschiedliche Ergebnisse • Phantom Reads • eine Transaktion berechnet einen Wert 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

  4. Synchronisation • Korrektheitskriterium (Ziel): • logischer Einbenutzerbetrieb, d.h. Vermeidung allerMehrbenutzeranomalien • 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.

  5. Sperrverfahren • Kompatibiltitätsmatrix: R: Lese- oder Read (R)-Sperren X: Schreib- oder exclusive (X)-Sperren "+" bedeutet: Sperre wird gewährt "-" bedeutet: Sperrkonflikt

  6. Optimierungen Reduzierung der Beeinträchtigungen: • hierarchische Sperrverfahren • reduzierte Konsistenzebene • Zeitstempel • Mehrversionen-Ansatz • Optimistische Synchronisation

  7. 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

  8. Konsistenzebenen in SQL • vier Konsistenzebenen (isolation levels) • Durch verschiedene Konsistenzebene können verschiedene Anomalie zu eliminieren. • Default: Serializable

  9. 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 verglichennur, wenn Transaktion jünger ist, • bei Lesewunsch jünger als der Schreibstempel • bei Schreibwunsch jünger als der Schreib- und der Lesestempeldarf sie zugreifen und den Objektstempel entsprechend setzen

  10. 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

  11. 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.

More Related