Datenbanksysteme für FÜ SS 2000 Seite 9 - 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.

Slides:



Advertisements
Ähnliche Präsentationen
Object Relational Mapping
Advertisements

Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Datenbanksysteme für FÜ WS2004/05 SQL1 - 1 Worzyk FH Anhalt SQL 1 Aussagen über Tabelleninhalte Aussagelogik Äquivalenzen Select Where.
Transaktionsverwaltung
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
SAP R/3 - Speichermanagement
SQL als Abfragesprache
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
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Normalformen Normalisieren Schlüssel
Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz.
SQL 2 Order by null Aggregatfunktionen group by Join subselect.
Datenintegrität Referentielle Integrität create table
6 Normalformen Normalisieren Schlüssel
Einführung Dateisystem <-> Datenbanksystem
Inhalte und Maßnahmen eingegeben haben,
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.
Einige Begriffe zum Anfang.... Transaktionsprozedur: Folge primitiver Operationen als Einheit der Konsistenz und der Robustheit. Transaktion (TA): Ausführung.
3.5.2 Fremdschlüssel/ Referentielle Integrität (6/9)
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
Grundschutztools
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
...ich seh´es kommen !.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Auslegung eines Vorschubantriebes
Datenbanken und Datenmodellierung
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.
Vorlesung #9 Fehlerbehandlung
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #7 SQL (Teil 4)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Analyse von Ablaufdiagrammen
Transaktion Huang Zhenhao FU Shuai.
Vorlesung #12 Mehrbenutzersynchronisation
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Analyseprodukte numerischer Modelle
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Structured Query Language
Der Erotik Kalender 2005.
Transaktionsverwaltung
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.
Einführung Dateisystem <-> Datenbanksystem
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.
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.
Prof. Dr. T. Kudraß1 Transaktionsmanagement - Einführung.
WS 2014/15 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #9 SQL Zusammenfassung.
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)
Vorlesung #7 Fehlerbehandlung
Vorlesung #7 Fehlerbehandlung
 Präsentation transkript:

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation Parallelverarbeitung Sperrkonzepte Deadlock Beispiele

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Eigenschaften von Transaktionen Konsistenz Dauerhaftigkeit Atomizität Isolation

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Konsistenz Jede Transaktion erhält die Konsistenz der Datenbasis aufrecht. Sämtliche Zustandsbedingungen gelten vor und nach Beendigung der Transaktion. Transaktionen stellen die Klammer dar, um Folgen von Datenbankoperationen zu konsistenzerhaltenden Zustandsübergängen zusammenzufassen.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Dauerhaftigkeit Korrekt beendete Transaktionen wirken sich dauerhaft auf die Daten aus. Ihre Wirkung kann nicht durch Systemfehler nachträglich zerstört werden.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Unteilbarkeit Eine Transaktion ist eine unteilbare Operation. Sie wird entweder vollständig durch geführt oder bleibt ohne Wirkung.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Isolation Parallel ablaufende Transaktionen sind voneinander isoliert, so daß jede Transaktion unabhängig von den anderen zurückgesetzt werden kann.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Konsistenz im DBMS alle Gesetzmäßigkeiten, die dem DBMS bekannt gemacht sind, werden auf dem jeweils aktuellen Datenbestand eingehalten Eine Datenbank ist vollständig konsistent, wenn sie ein isomorphes Abbild der Umwelt ist.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Lang andauernde Transaktionen Normale Transaktionen in einem DBMS dauern einige Sekunden Transaktionen in Entwurfsdatenbanken können mehrere Tage dauern –CAD –CASE Tools Im Workflow Management wird Rollback häufig durch inverse Transaktionen ersetzt.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Teilaufgaben zur Konsistenzsicherung Konsistenzbeschreibung Konsistenzüberwachung Konsistenzerhaltung Konsistenzerzeugung

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Anfang und Ende einer Transaktion Eine Transaktion beginnt mit der ersten ausführbaren SQL-Anweisung Eine Transaktion endet mit –COMMT oder ROLLBACK –einer DDL-Anweisung z.B.: CREATE TABLE DROP TABLE –Der Benutzer meldet sich ab –Der Prozess bricht ab

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Beispiel commit; insert into ta_kunde values(88,'Anna'); update ta_angebot set kunden#=88 where kunden#=13; update ta_auftrag set kunden#=88 where kunden#=13; delete from ta_kunde where kunden#=13; commit;

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Savepoints Savepoints können gesetzt werden, um Teilergebnisse einer Transaktion zu kennzeichnen. Es kann dann ein Rollback bis zu einem Savepoint vorgenommen werden.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Unteilbarkeit Dauerhaftigkeit Umbuchung eines Betrages von einem Konto auf ein anderes. UPDATE ta_konto SET Kontostand = Kontostand - Betrag WHERE Konto# = VonKonto UPDTE ta_konto SET Kontostand = Kontostand + Betrag WHERE Konto# = NachKonto

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Ablauf - Ändern Die alten Daten (vor der Veränderung) werden gespeichert. Die Transaktion bekommt eine System Change Number SCN zugeordnet. Die Veränderungsbefehle werden protokolliert. Die Veränderungen werden durchgeführt in die Datenbank übernommen.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Ablauf - Commit Die interne Transaktionstabelle zeichnet auf, daß die Transaktion festgeschrieben ist und zeichnet die SCN auf. Dier Änderungsvorschrift wird archiviert Die Sperren auf Zeilen und Tabellen werden freigegben. Die Transaktion wird als beendet gekennzeichnet.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Ablauf - Rollback Alle Änderungen, die von der SQL- Anweisung vorgenommen wurden, werden mit Hilfe gespeicherten Daten rückgängig gemacht. Die Sperren auf Zeilen und Tabellen werden frei gegben. Die Transaktion wird als beendet gekennzeichnet.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Isolation gegenseitige Beeinflusung Lost Update (verlorengegeangene Aktualisierung) Dirty Read (Lesen von nicht festgeschriebenen Daten) Non Repeatable Read (Nichtwiederholbares Lesen) Phantoms (Inkonsistentes Lesen) DDL-Operationen

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Lost Update

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Dirty Read

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Non Repeatable Read

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Phantoms

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt DDL - Operationen

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Konsistenzerhaltung von ORACLE automatisch Lesekonsistenz auf Anweisungsebene (Phantoms) ORACLE beobachtet die SCN (System Change Number) und zur Zeit der Ausführung der Abfrage werden nur die Daten, die mit der gleichen SCN gekennzeichnet sind, berücksichtigt

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt SCN

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Sperrkonzepte von ORACLE Automatische Sperren –Tabellensperre mit Zeilensperre im Exclusiv-Modus –Tabellensperre mit Zeilensperre im Share- Modus Programmierbare Sperren –Tabellensperre im Share-Modus –Tabellensperre im Exclusiv-Modus

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Tabellensperren * Wenn die Spalten nicht betroffen sind

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Deadlock (Systemverklemmung) Ein Deadlock tritt auf, wenn mehrere Transaktionen gegenseitig auf die Freigabe von Ressourcen warten, sie die Ressourcen aber nicht freigeben können, da sie diese für den Abschluß ihrer Arbeit benötigen.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Deadlock Beispiel

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Reduzieren von (Dead)lock- Situationen Transaktionen so kurz wie möglich. Keine Bildschirmaktionen innerhalb einer Transaktion. Bei Mehrtabellen-Update (z.B.: Master- Detail-Tabellen) muß eine für alle Anwendungen und alle Programmierer verbindliche Reihenfolge der Zugriffe und der Sperrungen festgelegt werden.

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Zusammenfassung 1 Eine Transaktion T überführt die Datenbank von einem konsisten Zustand K1 in einen konsisten Zustand K2. Ist das nicht möglich, wird der Zustand K1 wieder hergestellt (Rollback).

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Zusammenfassung 2 Eigenschaften von Transaktionen –Konsistenz –Dauerhaftigkeit –Atomizität –Isolation Gegenseitige Beeinflussung –Lost Update –Dirty Read –Non Repeatable Read –Phantoms

Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Zusammenfassung 3 Deadlocks können reduziert werden durch –Kurze Transaktionen –Keine Bildschirmeingabe innerhalb –Mehrtabellen Update immer in der gleichen Reihenfolge Das Ende einer Transaktion wird vom Programmierer bestimmt