Kapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert

Ähnliche Dokumente
Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung

Kapitel 1: Einführung

Transaktionsverwaltung

Kapitel 9a Transaktionen - Synchronisation

Transaktionsverwaltung read write read write

7. Transaktionsverwaltung

Transaktionsverwaltung

Eigenschaften von TAs: ACID-Prinzip

Transaktionsverwaltung

Kapitel 8: Transaktionen

Datenbanksysteme. Transaktionen. Burkhardt Renz. Sommersemester Fachbereich MNI Technische Hochschule Mittelhessen

Datenbank- Verwaltungssysteme

Transaktionsmanagement - Einführung. Prof. Dr. T. Kudraß 1

Kapitel 3 Synchronisation

In diesem Abschnitt stehen Transaktionen im Mittelpunkt. Hierbei geht es darum, wie bei Mehrbenutzerbetrieb die Integrität von Datenbanken

3.6 Transaktionsverwaltung

fbi h_da Datenbanken Kapitel 7: Transaktionsmanagement Schestag Datenbanken (Cnam) Kapitel 7-1

Kapitel 10: Transaktionen und Datenintegrität

P.A. Bernstein, V. Hadzilacos, N. Goodman

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II SS Transaktionen & ACID. Dr. Christian Senger Transaktionen & ACID 1

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Inhaltsverzeichnis. Inhaltsverzeichnis

Transaktionen Recovery Isolationslevel. Datenbanksysteme. Transaktionen. Burkhardt Renz. Fachbereich MNI Technische Hochschule Mittelhessen

Transaktionen: Wiederholung und Vertiefung

1 Transaktionen in SQL. 2 Was ist eine Transaktion. 3 Eigenschaften einer Transaktion. PostgreSQL

Kommunikation und Datenhaltung

Daten- und Transaktionskontrolle mit SQL DCL, TCL

Transaktionskonzept Eine Transaktion ist eine Folge von Operationen mit folgenden ACID Eigenschaften: Atomicity: Es werden alle Operationen oder gar k

View. Arbeiten mit den Sichten:

6.3 Verteilte Transaktionen

Software-Engineering und Datenbanken

1. Einführung Transaktionsverwaltung

6. Updates in SQL 6-1. Inhalt. 1. Update-Kommandos in SQL. 2. Transaktionen. 3. Gleichzeitige Zugriffe

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

Teil I Einführung & Grundlagen. 1.1 Was ist eine Transaktion?

Vorlesung "Systemsoftware II" Wintersemester 2002/03

Vorlesung "Verteilte Systeme" Wintersemester 2000/2001. Verteilte Systeme. 14. Transaktionen

9 Transaktionskonzept

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

Tag 4 Inhaltsverzeichnis

Datenbanksysteme Technische Grundlagen Transaktions-Konzept, Mehrbenutzer-Synchronisation, Fehlerbehandlung

Fehlerbehandlung (Recovery)

Fehlerbehandlung (Recov

5. Transaktionsverarbeitung

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Kapitel 1 Grundlagen. Skript zur Vorlesung: Datenbanksysteme II Sommersemester Vorlesung: PD Dr. Peer Kröger

Literatur und Quellen. Datenbanken. Inhalt. Inhalt. Transaktionen. Nikolaus Augsten. Wintersemester 2013/14

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017

Datenintegrität und Transaktionskonzept

Fehlerklassifikation 1. Lokaler Fehler in einer noch nicht festgeschriebenen. Wirkung muss zurückgesetzt werden R1-Recovery

Verteiltes Sperren Verteilte Recovery

3.5 Synchronisation ohne Sperren

Datenbanken: Transaktionskonzept und Concurrency Control

Prakt. Datenbankprogrammierung. Sommersemester I,9: Datenmanipulation. Daten-Manipulations-Sprache. Das INSERT-Statement

10 Transaktionen Änderungen verwalten

Mächtigkeit von 2PL. Geben Sie einen Schedule S an, der. konfliktserialisierbar, jedoch nicht bei Anwendung von 2PL entstehbar. ist.

9.2.4 Phantomproblem. Mächtigkeit von 2PL. Lösung des Phantomproblems. bisherige implizite Annahme

Transaktionsverarbeitung und Nebenläufigkeitskontrolle. Jim Gray ( )

Datenbanken II Literatur

Transaktionen. Concurrency Management in MS SQL Server

9.3 Fehlerbehandlung

Übung 14. Tutorübung zu Grundlagen Datenbanken (Gruppen DO-T24 / DO-T31 WS 2016/2017)

Objektorientierte Datenbanken

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Fehlerbehandlung und Recovery

Oracle Datenbank - Recovery

Datenbank- Implementierungstechniken

11. Integrität und Trigger

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Tag 4 Inhaltsverzeichnis

Vorlesung Informationssysteme

Aufgabe der Recovery-Komponente des Datenbanksystems ist es, nach einem Fehler den jüngsten konsistenten Datenbankzustand wiederherzustellen.

7 DCL (Data Control Language)

Recovery- und Buffermanager

Recovery. Prof. Dr. T. Kudraß 1

Datenbanken 1. Kapitel 7: Transaktionsmanagement 7-1. Datenbanken 1 (Bachelor)

Datenbanken 1. Sommersemester Übung 8

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Sommersemester Vorlesung: Dr. Matthias Schubert

Vorlesungsinhalt. Recovery. G. Specht: Datenbanksysteme Kapitel XI. Vorlesung Datenbanksysteme Univ.-Prof. Dr.

Fehlerbehandlung (Recovery)

Vorlesung mit Übung Datenbanksysteme 2

Datenbanken: Backup und Recovery

Vorlesung Datenbanksysteme 2. Übung Recovery Checkpointing

Teil IX Transaktionen, Integrität und Trigger

Datenbanken 1. Sommersemester Übung 8

Distributed Flat Transaction

Darunter versteht man die Anmeldung eines Benutzers beim System unter Angabe einer Benutzererkennung.

Datenbankadministration

Transkript:

Kapitel 2 Transaktionsverwaltung Skript 2009 Matthias Schubert Dieses Skript basiert auf dem Skript zur Vorlesung Datenbanksysteme II von Prof. Dr. Christian Böhm gehalten im Sommersemester 2007 an der LMU München und dem Skript von Dr. Peer Kröger gehalten im Sommersemester 2008 http://www.dbs.ifi.lmu.de/cms/datenbanksysteme_ii_10 1 Einführung Übersicht 22 2.2 Operationen auf ftransaktionsebene 2

Motivation Beispiel - Überweisung von Huber an Meier in Höhe von 200 - Mgl. Bearbeitungsplan: (1) Erniedrige i Stand von Huber um 200 (2) Erhöhe Stand von Meier um 200 Möglicher Ablauf Konto Kunde Stand (1) Konto Kunde Stand (2) Meier 1.000 Meier 1.000 Huber 1.500 Huber 1.300 Systemabsturz Inkonsistenter DB-Zustand darf nicht entstehen bzw. darf nicht dauerhaft bestehen bleiben!!! 3 Transaktionskonzept Transaktion: Folge von Aktionen (read,, write), die die DB von einen konsistenten Zustand in einen anderen konsistenten Zustand überführt Transaktionen: Einheiten it integritätserhaltender ität Zustandsänderungen d einer Datenbank 4

Hauptaufgaben der Transaktions-Verwaltung Synchronisation (Koordination mehrerer Benutzerprozesse) - i.d.r. viele Benutzer => viele gleichzeitig ablaufende TAs - Unkontrollierte Nebenläufigkeit verhindern Recovery (Behebung von Fehlersituationen) - Schutz gegen Fehler (HW/SW) - Transaktionsorientiert Transaktion DB vorher (konsistent) DB tmp1 DB tmpn DB nachher (konsistent) 5 ACID-Prinzip Atomicity (Atomarität) Effekt einer TA kommt entweder ganz oder gar nicht zum Tragen. Consistency (Konsistenz, Integritätserhaltung) Durch eine TA wird ein konsistenter DB-Zustand wieder in einen konsistenten DB-Zustand überführt. Isolation (Isoliertheit, logischer Einbenutzerbetrieb) Innerhalb einer TA nimmt ein Benutzer Änderungen durch andere Benutzer nicht wahr. Durability (Dauerhaftigkeit, Persistenz) Der Effekt einer abgeschlossenen TA bleibt dauerhaft in der DB erhalten. Weitere wichtige Forderung: TA in endlicher Zeit bearbeitet werden können 6

2 Transaktionsverwaltung Übersicht 22 2.2 Operationen auf ftransaktionsebene 7 2.2 Operationen auf Transaktionsebene Steuerung von TAs Begin of transaction (BOT) - markiert den Anfang einer Transaktion End of transaction / commit -markiert das Ende einer Transaktion - alle Änderungen seit dem letzten BOT werden festgeschrieben Abort - markiert den Abbruch einer Transaktion - die Datenbasis wird in den Zustand vor BOT zurückgeführt 8

2.2 Operationen auf Transaktionsebene TA-Verwaltung in SQL Begin of transaction (BOT) - Transaktionen werden implizit begonnen, es gibt kein begin work oä o.ä. End of transaction / commit - commit oder commit work Abort - rollback oder rollback work Beispiel UPDATE Konto SET Stand = Stand-200 WHERE Kunde = Huber ; UPDATE Konto SET Stand = Stand+200 WHERE Kunde = Meier ; COMMIT; 9 2.2 Operationen auf Transaktionsebene Unterstützung langer Transaktionen Motivation - Die drei Befehle BOT, COMMIT, ABORT reichen normalerweise zur TA-Verwaltung aus - In modernen Anwendungen dauern TAs aber meist sehr lange (viele read/write Operationen) - In diesem Fall ist es sinnvoll, zwischenzeitlich Sicherungspunkte setzen zu können 10

2.2 Operationen auf Transaktionsebene Unterstützung langer Transaktionen (cont.) Umsetzung - Define savepoint markiert einen zusätzlichen Sicherungspunkt, nkt auf den sich die noch aktive Transaktion zurücksetzen lässt Änderungen dürfen noch nicht festgeschrieben werden, da die Transaktion noch (als Ganzes) scheitern bzw. zurückgesetzt werden kann SQL: savepoint <identifier> - Backup transaction setzt die Datenbasis auf einen definierten Sicherungspunkt zurück SQL: rollback to <identifier> - Bemerkungen: In manchen Systemen kann nur auf den jüngsten Sicherungspunkt zurückgesetzt werden Anders als der commit-befehl muss das DBMS die erfolgreiche Ausführung eines rollback-befehls immer garantieren können 11 2.2 Operationen auf Transaktionsebene Abschluss von Transaktionen Abschluss einer TA - Erfolgreich durch COMMIT => der neue e DB-Zustand wird dauerhaft gespeichert - Erfolglos durch ABORT => der ursprüngliche Zustand wie zu Beginn der Transaktion bleibt erhalten (bzw. wird wiederhergestellt). Ein COMMIT kann z.b. scheitern, wenn die Verletzung von Integritätsbedingungen erkannt wird. - Benutzer widerruft durch ROLLBACK => der Zustand zum Zeitpunkt des aufgerufenen Sicherungspunkt bleibt erhalten (bzw. wird wiederhergestellt). gelingt g Transaktion commit DB vorher DB nachher (konsistent) DB tmp1 DB tmpn (konsistent) scheitert rollback 12