Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz.

Ähnliche Präsentationen


Präsentation zum Thema: "Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz."—  Präsentation transkript:

1 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation Parallelverarbeitung Sperrkonzepte Deadlock Beispiele

2 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 2 Worzyk FH Anhalt Zugriffsteuerung Konto 500 + 400- 200 500 300900 300 900 BaFöG Sachbearbeiter 1 Miete Sachbearbeiter 2 + 400- 200 900 300

3 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 3 Worzyk FH Anhalt Zugriffsteuerung Konto 500 + 400- 200 900 700900 700 900 BaFöG Sachbearbeiter 1 Miete Sachbearbeiter 2 + 400- 200 900 700

4 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 4 Worzyk FH Anhalt Konsistenzsicherung Konto 1Konto 2 700300 Überweise 500 von Konto 1 nach Konto 2 Konto 1 -500 Konto 2 +500 -500 200 +500 800

5 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 5 Worzyk FH Anhalt Konsistenzsicherung Konto 1Konto 2 700300 Überweise 500 von Konto 1 nach Konto 2 Konto 1 -500-500 200

6 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 6 Worzyk FH Anhalt Konsistenzsicherung Konto 1Konto 2 700300 Überweise 500 von Konto 1 nach Konto 2 Konto 1 -500 Konto 2 +500 -500 200 +500 800700300 alt Transaktion

7 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 7 Worzyk FH Anhalt Eigenschaften von Transaktionen Konsistenz Dauerhaftigkeit Unteilbarkeit Isolation

8 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 8 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.

9 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 9 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.

10 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 10 Worzyk FH Anhalt Unteilbarkeit Eine Transaktion ist eine unteilbare Operation. Sie wird entweder vollständig durch geführt oder bleibt ohne Wirkung.

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

12 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 12 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.

13 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 13 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.

14 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 14 Worzyk FH Anhalt Teilaufgaben zur Konsistenzsicherung Konsistenzbeschreibung Konsistenzüberwachung Konsistenzerhaltung Konsistenzerzeugung

15 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 15 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

16 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 16 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;

17 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 17 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.

18 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 18 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

19 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 19 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.

20 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 20 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.

21 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 21 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.

22 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 22 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

23 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 23 Worzyk FH Anhalt Lost Update

24 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 24 Worzyk FH Anhalt Dirty Read

25 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 25 Worzyk FH Anhalt Non Repeatable Read

26 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 26 Worzyk FH Anhalt Phantoms

27 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 27 Worzyk FH Anhalt DDL - Operationen

28 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 28 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

29 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 29 Worzyk FH Anhalt SCN

30 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 30 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

31 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 31 Worzyk FH Anhalt Tabellensperren * Wenn die Spalten nicht betroffen sind

32 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 32 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.

33 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 33 Worzyk FH Anhalt Deadlock

34 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 34 Worzyk FH Anhalt Deadlock Beispiel

35 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 35 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.

36 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 36 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).

37 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 37 Worzyk FH Anhalt Zusammenfassung 2 Eigenschaften von Transaktionen –Konsistenz –Dauerhaftigkeit –Atomizität –Isolation Gegenseitige Beeinflussung –Lost Update –Dirty Read –Non Repeatable Read –Phantoms

38 Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 38 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


Herunterladen ppt "Datenbanksysteme für FÜ WS 2004/2005 Transaktionen 1 Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz."

Ähnliche Präsentationen


Google-Anzeigen