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

Ähnliche Dokumente
Vorlesung "Systemsoftware II" Wintersemester 2002/03

Atomare Commit-Protokolle. Grundlagen von Datenbanken - SS Prof. Dr. Stefan Böttcher Atomare Commit-Protokolle Folie 1

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

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

5.1 Verteilung von Aktualisierungshinweisen

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

6.3 Verteilte Transaktionen

Inhaltsverzeichnis. Inhaltsverzeichnis

Fehlerbehandlung und Recovery

Verteiltes Sperren Verteilte Recovery

Datenbank- Verwaltungssysteme

Transaktionsverwaltung

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.

Kapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert

Eigenschaften von TAs: ACID-Prinzip

Fehlerbehandlung (Recovery)

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

Fehlerbehandlung (Recov

8. Wiederherstellung und Datensicherheit

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

Recovery- und Buffermanager

Verteilte Systeme. Replikation & Konsistenz I. Prof. Dr. Oliver Haase

Transaktionsverwaltung

9.3 Fehlerbehandlung

Verteilte Systeme - 5. Übung

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

TAV Übung 3. Übung 3: Verteilte Datenhaltung

3.5 Synchronisation ohne Sperren

Übungen zur Vorlesung. Mobile und Verteilte Datenbanken. WS 2008/2009 Blatt 4. Lösung

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

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

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

AG Datenbanken und Informationssysteme Wintersemester 2006 / Übungsblatt. Aufgabe 2: Charakterisierung von Sicherungspunkt-Schemata

7. Transaktionsverwaltung

Daten- und Transaktionskontrolle mit SQL DCL, TCL

Kommunikation und Datenhaltung

1. Einführung, Problemstellung und Überblick Rechnernetze

Übungen zu Datenbanksysteme

Verteilte Systeme. Verteilte Systeme. 8 Replikation und Konsistenz SS 2017

Concurrency und Recovery

3.6 Transaktionsverwaltung

Datenbanksysteme II Recovery (Kapitel 17)

Recovery. Prof. Dr. T. Kudraß 1

Übungen zur Vorlesung. Datenbanken I

Kapitel 9a Transaktionen - Synchronisation

Verteilte Systeme SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 8.

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

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

Datenbanksysteme 2009

7.2 Journaling-File-Systems (4)

Vorlesung Datenbanksysteme 2. Übung Recovery Checkpointing

5. Transaktionsverarbeitung

Transaktionsstruktur. Kapitel 4 - Teil 1 Verteilte Transaktionsverwaltung. Verteilte. Transaktionsverwaltung

Verteilte Systeme. Nebenläufigkeit. Prof. Dr. Oliver Haase

Datenbanken und Informationssysteme

Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis bereit.

Vorlesung "Verteilte Systeme" Sommersemester Verteilte Systeme. 13. Fehlertoleranz. Verteilte Systeme, Sommersemester 1999 Folie 13.

Alle Metadaten werden in Dateien gehalten

Wiederherstellung (Recovery)

Datenbanken: Ablaufpläne und Serialisierbarkeit

Transaktionsverwaltung

Überblick. Replikation Motivation Grundlagen Aktive Replikation Passive Replikation. c td VS (SS16) Replikation 6 1

Redo Logs. Informationen soweit der Logminer reicht Thomas Klughardt Senior Systems Consultant

Fehlerbehandlung (Recovery)

Prof. Dr.-Ing. Dagmar Meyer Architekturen verteilter SW-Systeme 5 SYNCHRONISATION

Datenbanken: Backup und Recovery

Speicherhierarchie. Für die Dauer eines Zugriffs wird die Seite im Puffer fixiert (pin) Werden Daten geändert, so wird die Seite als dirty markiert

Replikation und Caching für mobile Anwendungen

Transaktionsstruktur (1) Transaktionsverwaltung in verteilten Systemen

6. Verteilte Transaktionsverwaltung Einführung Synchronisation

Recovery. Vorlesung: Dr. Matthias Schubert

E. Verteilte Berechnungen/Algorithmen

Wiederanlauf (Recovery)

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Kapitel 12 Integrität der Datenbank

Lock-freies nebenläufiges Programmieren durch Software Transactional Memory

Die Sicht eines Sysadmins auf DB systeme

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

6.1.2 Sequentielle Konsistenz (Lamport 1979)

Verteilte Systeme. Verteilte Systeme. 7 Koordination SS 2017

6. Verteilte Transaktionsverwaltung

Datenbanken Konsistenz und Mehrnutzerbetrieb III

Aufgabe 10.1: Lösung:

Verteilte Systeme. Verteilte Transaktionen und Nebenläufigkeitskontrolle

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

Vorlesung Systemsoftware II Wintersemester 2002/03

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

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

13. Fehlerbehandlung/2. Architektur von Datenbanksystemen I

Transkript:

Verteilte Systeme 14. Transaktionen Motivation Sicherung konsistenter Systemzustände Beispiele Amnesieproblematik bei zustandsbehafteten Servern Sicherung des Primaries (Primary-Backup- Approach) Aktive Fehlertoleranz? Concurrency Control Transaktionen Von konsistenten Zuständen in konsistente Zustände überführen Auch im Fehlerfall Auch in Konkurrenz zu parallel ausgeführten Transaktionen Konsistenter Zustand s Konsistenter Zustand s` Transaktion Verteilte Systeme, Wintersemester 2000/2001 Folie 14.2 (c) Peter Sturm, Universität Trier 1

Beispiel: Konsistentes Logging Realisierung At-Most Most-Once-Semantik Sicherung der Replies Primary-Backup Backup-Approach Datenzustände Anforderungen Sicherung der Zustandsänderungen Wiederherstellbarkeit von Zuständen Wiederholen von Aufträgen Undo von angebrochenen Aufträgen Alles oder nichts Auftrag Server Logging Stabiler Speicher Verteilte Systeme, Wintersemester 2000/2001 Folie 14.3 Beispiel: Concurrency Control Inkonsistenzen durch zeitlich verschränkte Zugriffe Thread 1 Thread 2 Lösungsmöglichkeiten Kritische Abschnitte Anwendungsspezifische Definition atomarer Aktionen BAA;... EAA; H := A A H := A H += 2000 A := H Transaktionen Konsistenz gemeinsam benutzter Variablen H += 2000 A := H Verteilte Systeme, Wintersemester 2000/2001 Folie 14.4 (c) Peter Sturm, Universität Trier 2

Beispiel: Replikation von Zuständen Daten Daten Daten Daten Server Server Server Server Client Dateisysteme, Namensdienst, Ensemble Konsistente Aktualisierung aller Replikate Serverabstürze während der Aktualisierung Verteilte Systeme, Wintersemester 2000/2001 Folie 14.5 Transaktionen Atomic Jede Transaktion ist unteilbar (alles oder nichts) Consistency Jede Transaktion überführt einen konsistenten Zustand in einen konsistenten Zustand Isolation (Serialisierbarkeit( Serialisierbarkeit) Die konkurrente Ausführung mehrerer Transaktionen ist identisch zu einer sequentiellen Ausführungsreihenfolge Durability Erfolgreich beendete Transaktionen überleben nachfolgende Fehler Verteilte Systeme, Wintersemester 2000/2001 Folie 14.6 (c) Peter Sturm, Universität Trier 3

Bemerkungen Anwendungsunabhängig realisierbar Atomarität Isolation Dauerhaftigkeit Konsistenz ist anwendunsgspezifisch {} Klammerung Beginn einer Transaktion: BOT Ende einer Transaktion: EOT Erfolgreich: Commit Nicht erfolgreich: Abort Einmal Commit,, immer Commit? Verteilte Systeme, Wintersemester 2000/2001 Folie 14.7 Realisierungsvarianten Zeitpunkt der Sichtbarkeit von Zustandsänderungen Pessimistische Systeme Sichtbarkeit, wenn erfolgreich beendet und gesichert Einschränkung der Parallelität (Sperren) Optimistische Systeme Alle Änderungen sofort sichtbar Nachträgliche Überprüfung auf Konflikte bei EOT und ggf. Zurücknahme der Änderungen Höhere Parallelität (Keine Sperren) Gefahr sogenannter Abort-Kaskaden Verteilte Systeme, Wintersemester 2000/2001 Folie 14.8 (c) Peter Sturm, Universität Trier 4

14.1 Pessimistische Systeme 2-Phasen-Sperren Gängiges Verfahren Daten, auf die eine Transaktion zugreift, werden gesperrt Andere Transaktionen können nicht darauf zugreifen Änderungen erst nach dem Commit sichtbar (Aufheben der Sperren) Unterschiedliche Sperrgranulate Lesen und Schreiben Vgl. Reader/Writer Verstärkung und Abschwächung von Sperren 2 Phasen Anforderungsphase Freigabephase Verteilte Systeme, Wintersemester 2000/2001 Folie 14.10 (c) Peter Sturm, Universität Trier 5

Striktes 2-Phasen2 Phasen-Sperren Freigabe aller Sperren erst bei EOT Sperren länger als notwendig (Einschränkung der Parallelität) Warum? Deadlockgefahr Ausschließen (Prevention( Prevention) Sperren aufsteigend anfordern Sperren länger als notwendig Auflösen (Detection( Detection) Erkennen verteilter Deadlocks Aufbrechen des Deadlocks (Ist das schwer?) Verteilte Systeme, Wintersemester 2000/2001 Folie 14.11 14.2 Optimistisch Systeme (c) Peter Sturm, Universität Trier 6

14.3 Recovery Recovery Wiederherstellung des konsistenten Zustands nach Fehler 3 Speicherklassen Flüchtiger Hauptspeicher Nicht-flüchtige Platten und Bänder Stabiler Speicher Recovery-Stufen Abbruch einer Transaktion Systemabsturz Plattenfehler Katastrophe Stabiler Speicher CPU Flüchtiger Speicher Nichtflüchtiger Speicher Verteilte Systeme, Wintersemester 2000/2001 Folie 14.14 (c) Peter Sturm, Universität Trier 7

Abbruch einer Transaktion Update-in in-place Update Speicherung eines UNDO- Satzes Aktualisierung der Originaldaten Read Lesen der Originaldaten Commit UNDO-Sätze löschen Abort Änderungen mit Hilfe der UNDO-Sätze rückgängig machen Deferred-Write Update Änderungen in REDO-Liste speichern Read Letzter Wert (REDO( REDO-Liste rückwärts durchsuchen bis Originaldaten) Commit Änderungen mittels REDO-Liste nachziehen Abort REDO-Liste löschen Verteilte Systeme, Wintersemester 2000/2001 Folie 14.15 Systemabsturz Updates (UNDO( UNDO- und REDO-Listen Listen) ) sowie Commit oder Abort werden auf einem sequentiellen Logfile im nicht-flüchtigen Speicher gesichert Redo-Rule Rule Commit muß im Logfile stehen (physisch), bevor Transaktion als erfolgreich beendet gilt Undo-Rule (Write-ahead log rule) UNDO-Satz muß im Logfile stehen (physisch), bevor Originaldaten geändert werden dürfen Beschränkung der Logfile-Größe Invalidierung von UNDO- und REDO-Einträgen Einträgen Checkpointing Verteilte Systeme, Wintersemester 2000/2001 Folie 14.16 (c) Peter Sturm, Universität Trier 8

Plattenfehler Archivkopie der Daten einschließlich einem Archiv-Log Archivkopie n-fach replizieren Größe von n? Konsistentes Archiv System einfrieren Nachteil: Lange Auszeiten Fuzzy Dumps Verteilte Systeme, Wintersemester 2000/2001 Folie 14.17 Katastrophe Verteilte Systeme, Wintersemester 2000/2001 Folie 14.18 (c) Peter Sturm, Universität Trier 9

14.4 Verteilte Transaktionen Verteilte Transaktion Daten A Daten B Daten C Daten X Server 1 Server 2 Server 3 Server X Client: BOT: Update A; Update B;... Update X; EOT: Commit/Abort Verteilte Systeme, Wintersemester 2000/2001 Folie 14.20 (c) Peter Sturm, Universität Trier 10

Commit-Protokolle Jeder Rechner kann lokal für Commit und Abort entscheiden Eine Entscheidung ist nach dem Publizieren nicht mehr änderbar Agreement Alle Rechner kommen zur gleichen Entscheidung Commit,, wenn alle Rechner sich für Commit entscheiden Abort, wenn mindestens ein Rechner für Abort entscheidet Commit-Protokolle Agreement auch im Fehlerfall herbeiführen Verteilte Systeme, Wintersemester 2000/2001 Folie 14.21 2-Phasen-Commit Koordinator Z.B. Knoten, auf dem Transaktion begonnen wurde Phase 1 Koordinator sendet Commit-Request an alle Teilnehmer antworten mit Ja oder Nein Phase 2 Koordinator sammelt Antworten Entscheidung Commit: : Alle haben mit Ja geantwortet Abort: Mindestens einer hat mit Nein geantwortet Ergebnis allen Teilnehmern mitteilen Verteilte Systeme, Wintersemester 2000/2001 Folie 14.22 (c) Peter Sturm, Universität Trier 11

Fehlerfälle Commit-Request kommt nicht an Teilnehmer warten angemessene Zeit (Timeout( Timeout) ) und entscheiden sich bei Ausbleiben für Abort Teilnehmerantwort kommt nicht an Koordinator entscheidet nach Timeout für Abort Ergebnis des Koordinators kommt nicht an Lokale Entscheidung Nein: Okay Lokale Entscheidung Ja: Gossip Blockadesituation! Verteilte Systeme, Wintersemester 2000/2001 Folie 14.23 Übungsaufgaben 1. Versuchen Sie, ein nicht-blockierendes Commit-Protokoll zu definieren. Verteilte Systeme, Wintersemester 2000/2001 Folie 14.24 (c) Peter Sturm, Universität Trier 12