Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.

Slides:



Advertisements
Ähnliche Präsentationen
Kapitel 15 Verteilte Datenbanken
Advertisements

Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Datenbankdesign mit ACCESS.
Zur Rolle der Sprache bei der Modellierung von Datenbanken
Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.
spezielle Nutzersichten formale Ebene (deskriptive Regeln)
Modellbasierte Software-Entwicklung eingebetteter Systeme
© A. Kemper / A. Eickler1 Fehlerbehandlung (Recovery) 1.Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt.
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.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
1 Fehlerbehandlung (Recovery) 1.Lokaler Fehler in einer noch nicht festgeschriebenen (committed) Transaktion Wirkung muss zurückgesetzt werden R1-Recovery.
Kapitel 5: Transaktionsverwaltung
SS 2004B. König-Ries: Datenbanksysteme2-1 Kapitel 2: Referenzarchitektur für Datenbanksysteme Methodischer Architekturentwurf Architekturentwurf für Datenbanksysteme.
Algorithmus. Ein Kochrezept, zum Beispiel: Kartoffelbrei.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (23 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (24 – Sortieren vorsortierter Daten) Prof. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 3 Einführung in die Theoretische Informatik (04 – Automaten mit ε-Transitionen) Prof. Dr. Th. Ottmann.
Lösungen
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Transaktionen in verteilten Datenbanken
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.
Modellierungsmethoden in der Verhaltenstherapie
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.
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
ausdrucksschwächeres
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.
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Anomalien Nichtreflexive MVDs (und somit speziell auch nichtreflexive FDs) sind unerwünscht, da sie bei Schreibzugriffen sogenannte Anomalien verursachen.
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
Lese-Schreib-Modell: Beispiele Relationen –TICKET (ticketNr, name)T –BUCHUNG (flugNr, ticketNr, platzCode, datum)B Transaktionen: –T 1 : Prüfen der Konsistenz.
Datenbank.
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
(D.h. „Hallo MausFans!“ auf Japanisch).
Festschreibe-Protokoll (1) Globales Zwei-Phasen-Festschreibe-Protokoll (2- Phasen-Commit, 2PC): Phase 1: –Koordinator benachrichtigt Ressourcen, dass Commit.
Transaktion Huang Zhenhao FU Shuai.
Thread Synchronisation in JAVA
Lokales 2-Phasen-Festschreibe- Protokoll Segment-Verwalter führt commit(T i ) in zwei Phasen aus: Phase 1: Sicherstellung der Wiederholbarkeit. –Für jedes.
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Transaktionsverwaltung
Wiederanlauf nach Systemzusammenbruch Aufgabe: Bei Noforce-Strategie Wiederholung aller noch nicht in die Datenbasis eingebrachten Änderungen bereits abgeschlossener.
Recovery    AIFB SS Grundlegende Annamen(1/2) Um den Erfolg der der Recovery-Maßnahmen zu gewährleisten, werden folgende Annahmen.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
Puffer-Verwalter (1) Aufgabe: Performanzkontrolle bzgl. Hauptspeichernutzung. Puffer-Verwalter versucht, Plattenzugriffe durch Vorhalten von häufig benötigten.
Persistenz: Objekt-Lebensdauer In RDBMS wird Lebensdauer von Werten durch ihren Typ festgelegt: Instanzen von Relationstypen sind persistent, alle anderen.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Sicherung gegen Medienverlust (1) Medienverlust = Verlust der Datenbasis und/oder des Protokolls. Vorbeugung durch periodische Sicherung von Datenbasis.
Synchronisation mit Zeitmarken (1) Zeitmarken-Synchronisation = einfaches, aber ineffizientes Verfahren zur Gewinnung konfliktserialisierbarer Schedules.
Formalisierung (1) Datenbasis Ausschnitt Sicht Sichtenabbildung v reale Datenbasis DB virtuelle Datenbasis VDB.
Recovery    AIFB SS (1/6) Durchführung der Recovery-Maßnahmen(1/6) Transaktions-Fehler (TF) T1 T2 T3 Zeitt Transaktion T2 wird vom.
Serialisierbarkeitsprinzip Isolationsprinzip scheint zunächst streng serielle Abwicklung der Transaktionen zu fordern: r 1 (x) r 1 (y)... w 1 (z) c 1 r.
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.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Übung – Recovery Manager Undo Redo Algorithmus
6.3 Verteilte Transaktionen
Übung Datenbanksysteme I Besprechung
Transaktionsabbruch, System Crash, Media Failure
Redo/Undo Ersetzungsstrategie: LRU
 Präsentation transkript:

Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler Konsistenz: Die Transaktionsverwaltung soll nichts über die Semantik der TA wissen müssen. Annahme: Die TA teilt der TAV auch nichts darüber mit. Folge: Die TAV ist auf das beobachtbare Verhalten der TA angewiesen: Dies sind die Bekanntgabe der Transaktionsgrenzen sowie die Transportvorgänge zwischen Arbeitsspeicher der TA und dem Hintergrundspeicher, also die individuellen Lese- und Schreibzugriffe.

Lese-Schreib-Modell Transaktionsverwaltung eines DBMS arbeitet daher mit einfachem Lese-Schreib-Modell von Transaktionen: –Bearbeitung der Daten erfolgt in einem privaten Arbeitsspeicherbereich der Transaktion. –Transaktionen können durch Operationen read(x) und write(x) Transfer eines Datenelements x (z.B. Block, Tupel oder Relation) vom Hintergrund- in den Arbeitsspeicher und umgekehrt anfordern. –Transaktionen können durch Operationen commit und abort erfolgreichen bzw. nicht erfolgreichen Abschluss mitteilen. Im ersten Fall müssen alle durchgeführten write-Operationen dauerhaft, im zweiten rückgängig gemacht werden. –Interaktion von Transaktionen mit der Datenbasis beschränkt sich auf die Operationen read, write, commit und abort. Nur diese werden von der Transaktionsverwaltung bearbeitet.

Implikationen des Lese-Schreib- Modells Information über TA-Semantik geht verloren: –TA-Verwaltung muss davon ausgehen, dass abgesetzte Folge von read, write, commit bzw. abort-Operationen intendierten Zustandsübergang einer Transaktion reflektiert; fälschlich abgesetzte Operationen (z.B. durch Programmierfehler) werden nicht erkannt. –Da innere Zusammenhänge einer Transaktion nicht bekannt sind, muss worst case-Annahme getroffen werden: Jeder geschriebene Wert hängt von allen bisher gelesenen Werten ab. Interaktion Transaktion Außenwelt wird nicht erfasst: –Transaktionen können unumkehrbare Effekte in der Außenwelt auslösen (z.B. Ausgabe von Geld an einem Geldautomaten).

Formale Beschreibung von Transaktionen (1) Eine Operation o hat eine der folgenden vier Formen: –r i (x)Lesen von Datenelement x durch Transaktion i –w i (x)Schreiben von Datenelement x durch Transaktion i –c i Abschluss von Transaktion i –a i Abbruch von Transaktion i (Wenn es auf Details nicht ankommt, werden Operationen kurz als o i bzw. o i (x) notiert.)

Formale Beschreibung von Transaktionen (2) Eine Transaktionsbeschreibung (kurz: Transaktion) ist eine total geordnete Menge T i von Operationen mit: –T i {r i (x), w i (x) | x Datenelement} {a i,c i }. –T i kann höchstens eine der Operationen a i oder c i enthalten. –Falls T i a i oder c i enthält, so ist dies die letzte Operation in T i. –Falls es o,o' T i gibt mit o = r i (x), o' = w i (x), so folgt o < o'. Konsequenzen aus Definition: –Transaktion kann, muss aber nicht abgeschlossen sein. –Mehrfaches Lesen oder Schreiben desselben Datums nicht zulässig. –Schreiben und anschließendes Lesen eines Datums nicht zulässig.