Transaktion Huang Zhenhao FU Shuai.

Slides:



Advertisements
Ähnliche Präsentationen
Mehrbenutzersynchronisation
Advertisements

Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Synchronisation paralleler Transaktionen AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (5/13) Schedule: T* = {T 1,..., T.
Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
C. Mohan, Bruce Lindsay and R. Obermarck
Transaktionsverwaltung
Transaktionsverwaltung
Vs61 6 Verteilte Datenverwaltung. vs62 Ziel:Zusammengehöriger Datenbestand soll über mehrere Stationen verteilt werden, z.B. Fragmentierung: in mehrere.
1 Fehlerbehandlung (Recovery) 1.Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt werden R1-Recovery.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
1 Fehlerbehandlung (Recovery) 1.Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt werden R1-Recovery.
Open Database Connectivity (ODBC). © Prof. T. Kudraß, HTWK Leipzig Open Database Connectivity (ODBC) Idee: – API für eine DBMS, das ein Call-Level-Interface.
Transaktionen in verteilten Datenbanken
Prof. Dr. T. Kudraß1 Concurrency Control. Prof. Dr. T. Kudraß2 Korrektheitskriterium: Serialisierbarkeit Zwei Schedules sind konfliktäquivalent wenn gilt:
Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz.
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.
Kapitel 13: Mehrbenutzersynchronisation
Kapitel 14: Recovery Oliver Vornberger
1 Kapitel 12: Transaktionsverwaltung Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Synchronisation paralleler Transaktionen AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/18) Sperrmodi und Sperrobjekte Sperrprotokoll.
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
Transaktion 1Transaktion 2... Transaktion n Synchronisation durch Scheduler Datenbasis-Verwalter lokaler Schedule 1lokaler Schedule n konfliktserialisierbarer.
4.4.2 Sperrverfahren (9/18) Regeln für das Setzen von Sperren
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Mehrbenutzersynchronisation
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #6 Fehlerbehandlung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #7 Mehrbenutzersynchronisation (Teil 1)
WS 2009/10 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #12 Mehrbenutzersynchronisation.
Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit.
Vorlesung #12 Mehrbenutzersynchronisation
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
Vorlesung Datenbanksysteme WS 2.0 Christoph Koch (Subject: DBVO:...
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
Lokales 2-Phasen-Festschreibe- Protokoll Segment-Verwalter führt commit(T i ) in zwei Phasen aus: Phase 1: Sicherstellung der Wiederholbarkeit. –Für jedes.
Übung: Transaktionale Systeme (Zusammenfassung der Vorlesungsinhalte)
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Mehrbenutzerzugriff auf GIS-Daten
Mehrbenutzersynchronisation
Transaktionsverwaltung
Synchronisation paralleler Transaktionen  AIFB SS Sperrverfahren Sperrverfahren (13/18) Behandlung von Konflikten bei der Sperrvergabe.
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
Recovery    AIFB SS (1/6) Durchführung der Recovery-Maßnahmen(1/6) Transaktions-Fehler (TF) T1 T2 T3 Zeitt Transaktion T2 wird vom.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Abhängigkeiten zwischen Transaktionen (Fehlerklassen) u Lost-Update-Problem u Dirty Read.
Synchronisation paralleler Transaktionen  AIFB SS Synchronisationsverfahren 4.4 Synchronisationsverfahren (1/3) Typen von Synchronisationsverfahren.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
5.1.2 Sequentielle Konsistenz
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
6.3 Verteilte Transaktionen
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #12 Mehrbenutzersynchronisation.
Prof. Dr. T. Kudraß1 Transaktionsmanagement - Einführung.
Universität der Bundeswehr München 1 Seminar – DBMS für spezielle Anwendungen Seminar DBMS für spezielle Anwendungen Versionen und Varianten.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
SQL Basics Schulung –
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
6.3 Verteilte Transaktionen
Übung Datenbanksysteme I Besprechung
Vorlesung #7 Fehlerbehandlung
 Präsentation transkript:

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

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

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.

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

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

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

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

Zeitstempelverfahren 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

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

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.