Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:

Slides:



Advertisements
Ähnliche Präsentationen
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Advertisements

Rücksetzen Bisher betrachtetes Scheduling gewährleistet Isolation, d.h. Serialisierbarkeit, setzt jedoch voraus, dass Transaktionen abgebrochen und rückgesetzt.
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.
Objektrelationales Mapping mit JPA Working with Persistent Objects Jonas Bandi Simon Martinelli.
Objektrelationales Mapping mit JPA
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
DbjFileManager Paul Fruntzek Michael Stanek. Überblick Unterste Ebene im Schichtenmodell Schnittstelle zum BS (Low-Level) Aufgabenbereich: Persistente.
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.
DVG Klassen und Objekte
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
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
ausdrucksschwächeres
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
Recovery AIFB SS Einbringstrategie der Pufferverwaltung(1/4) Die bestimmt, wann geänderte Seiten in die Datenbank eingebracht werden. Sie.
Recovery AIFB SS (1/8) Sicherungspunkte (Checkpoints) (1/8) (1) Transaktions-Orientierte Sicherungspunkte Transaction-Oriented Checkpoint.
Implementierung von S2PL (1) Scheduler als Verwalter von Sperren auf Datenelementen sowie Warteschlangen für Sperren (Sperren-Verwalter). Transaktion 1Transaktion.
Modellierung von Transaktionen Zur Formalisierung der ACID-Garantien muss Verhalten von Transaktionen modelliert werden. Folge aus der Forderung nach lokaler.
Polymorphe Konsistenzbedingungen (1)
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Java Data Objects (JDO) und Implementierung in FastObjects.
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Working With Persistent Objects
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.
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)
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
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
Vorlesung #12 Mehrbenutzersynchronisation
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung Prof. Dr. Manfred Gruber FH München.
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.
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Mehrbenutzerzugriff auf GIS-Daten
1 Polymorphe Konsistenzbedingungen (1) Polymorphe Konsistenzbedingungen legen fest, welche Arten von Zustandsbeschränkungen nach einer Konkretisierung.
Transaktionsverwaltung
XML-Verarbeitung mit dem.NET-Framework. Inhalt 1.XML-Verarbeitung mittels XmlReader- und XmlWriter-basierter Klassen 2.XML-Verarbeitung mittels XmlDocument.
Vs Objektpufferung (caching) = dynamische, ad-hoc-Replikation einer Primärkopie: Zugriffswilliger beschafft sich temporär eine lokale Kopie cache.
7.2.4 Klassifikation mobilen Codes Nicht vergessen:  Sowohl das Fernkopieren als auch die Migration von Objekten setzt voraus, daß der Code entweder am.
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.
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.
unpin(a,b,c) flush(a,b,c)
Serialisierbarkeitsprinzip Isolationsprinzip scheint zunächst streng serielle Abwicklung der Transaktionen zu fordern: r 1 (x) r 1 (y)... w 1 (z) c 1 r.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Abhängigkeiten zwischen Transaktionen (Fehlerklassen) u Lost-Update-Problem u Dirty Read.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Vs51 5 Verteilte Datenverwaltung. vs52 Situation:Zusammengehöriger Datenbestand ist über mehrere Stationen verteilt, z.B. Fragmentierung: in mehrere Fragmente.
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.
EJB Architektur für große Web - Applikationen Gerald Weber
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 –
Übung – Recovery Manager Undo Redo Algorithmus
6.3 Verteilte Transaktionen
Übung Datenbanksysteme I Besprechung
Transaktionsabbruch, System Crash, Media Failure
 Präsentation transkript:

Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht: NULL Arbeitsbeginn aktiv Aufräumen Rücksetzen Aufräumen Festschreiben dauerhaft gescheitert

Transaktionsgeschützter SQL-Dialog Erste SQL-Anfrage Beginn der ersten Transaktion Folge von SQL-Anfragen commit Festschreiben Nächste SQL-Anfrage Beginn der nächsten Transaktion rollback Rücksetzen zum vorhergehenden commit ......

Konsistenzklassen für Transaktionen (1) Grundsatz: Der im Schema vereinbarte Grad an Datenbasiskonsistenz (Schemakonsistenz, Konsistenzbedingungen, Transaktionsprozeduren) wird immer garantiert  die Datenbasis wird nicht korrumpiert. Freiräume: Grad an Konsistenz, der beim Lesen garantiert wird. Er ist durch das Maß an durchgesetzter Isolation definiert.

Konsistenzklassen für Transaktionen (2) Ebene 1: Dirty Read erlaubt. Nebenläufige Transaktionen werden nicht aufgehalten. Die durch sie bewirkten Zustände sind sichtbar, auch auf das Risiko eines Abbruchs einer nebenläufigen Transaktion. Ebene 2: Non-repeatable Read erlaubt. Nebenläufige Transaktionen werden nicht aufgehalten. Die durch sie bewirkten Zustände sind sichtbar, wenn sie vor Beginn oder nach erfolgreichem Abschluss einer nebenläufigen Transaktion gelten. Die Transaktion sieht u.U. einen zeitlich verschmierten Zustand. Ebene 3: Phantome erlaubt. Nebenläufige Transaktionen werden aufgehalten. Durch sie neu eingebrachte Zustände sind sichtbar, sobald die nebenläufige Transaktion zum erfolgreichen Abschluss kommt. Ebene 4: Unbedingte Isolation.

Vereinbarung bei Transaktionsprozeduren set transaction sperrenart, konsistenzebene read only read write read uncommitted Ebene 1 read committed Ebene 2 repeatable read Ebene 3 serializable Ebene 4 Beachte von der Literatur abweichende Terminologie!

Transaktionen bei ODMG (1) Transaktionen sind selbst Objekte, die man zunächst erzeugen muss, bevor man sie startet, abschließt oder abbricht Erzeugen, Modifizieren, Lesen und Löschen persistenter Objekte nur innerhalb von Transaktionen möglich interface TransactionFactory { Transaction new(); }; interface Transaction { ... void begin(); void commit(); void abort(); boolean isOpen(); ... };

Transaktionen bei ODMG (2) Verbot des Zugriffs auf persistente Objekte außerhalb von Transaktionen ist recht hinderlich. Typisches Szenario: Applikation öffnet DB, navigiert zu bestimmten Objekten. Applikation liest Objekte aus DB und präsentiert sie Benutzer. Benutzer modifiziert Objekte. Applikation schreibt Objekte zurück. Zwei Transaktions-Strategien möglich, beide unangenehm: Transaktion bleibt während Benutzer-Interaktion offen (aber was ist, wenn Benutzer in Urlaub fährt?). Zurückschreiben der Daten erfolgt in separater Transaktion (aber dann muss die gesamte Navigation wiederholt werden).

Transaktionen bei ODMG (3) Ausweg (nur in bestimmten ODBMS, nicht ODMG-konform!): Nach Transaktionsende bleiben Verweise auf Hauptspeicherkopien persistenter Objekte gültig. Hauptspeicherkopien sind jedoch außerhalb von Transaktionen von unterliegenden persistenten Objekten abgekoppelt. Bei Neubeginn einer Transaktion erfolgt automatischer Zustandsabgleich mit unterliegenden persistenten Objekten.

Transaktionen bei ODMG (4) Transaktions-Strategie nun: Lese Objekte in kurzer Lesetransaktion, aber behalte nach Transaktionsende Verweise auf Kopien im Hauptspeicher. Nach Abschluss der Benutzer-Interaktion beginne Schreibtransaktion und bringe Änderungen direkt in Hauptspeicherkopien ein, deren Verweise ja noch existieren.

Transaktionen bei ODMG (5) Bewertung: Vorteil: Effizienterer und einfacherer Code: Zweite Navigationsphase beim Schreiben wird erspart. Höhere Programmschichten müssen nicht darauf ausgerichtet sein, dass ihre Verweise fortlaufend ungültig werden. Nachteil: Schwerwiegende semantische Probleme: Von anderen Benutzern zwischenzeitlich eingebrachte Änderungen können überschrieben werden. Hauptspeicherkopien reflektieren möglicherweise Verweisketten und Objekte, die in unterliegender Datenbasis gar nicht mehr existieren. Grund: Isolation wurde aufgegeben. Insgesamt eher als Hack einzustufen, Anwendung nur nach sorgfältiger Analyse aller potentiell nebenläufigen Zugriffe.