6. Transaktionskonzept: Weiterentwicklungen

Ähnliche Dokumente
6. Transaktionskonzept: Weiterentwicklungen

6. Transaktionskonzept: Weiterentwicklungen

Beschränkungen flacher TA (1)

Inhalt: Gekettete, geschachtelte und verteilte. geschachtelte Transaktionen, langlebige Transaktionen,

Kapitel 2 Transaktionsmodelle

Transaktionsverwaltung

9. Transaktionsverwaltung 9.3. Fehlerbehandlung Seite 1

Eigenschaften von TAs: ACID-Prinzip

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.

9.3 Fehlerbehandlung

Transaktionsverwaltung

Kapitel 2 Transaktionsverwaltung. Skript 2009 Matthias Schubert

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

Aufgabe 10.1: Lösung:

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

Vorlesung "Systemsoftware II" Wintersemester 2002/03

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

3.5 Synchronisation ohne Sperren

Inhaltsverzeichnis. Inhaltsverzeichnis

Kapitel 4: Fehlerbehandlung in Workflow-Systemen

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

Transaktionsverwaltung

DB I S. 1 Referentielle Aktionen [10 P.] Gegeben sei folgende Datendefinition:

1. Einführung, Problemstellung und Überblick Rechnernetze

Datenbanken 1. Sommersemester Übung 8

6.3 Verteilte Transaktionen

Datenbanksysteme 2009

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

Software-Engineering und Datenbanken

Datenbank- Verwaltungssysteme

Kapitel 3 Synchronisation

7. Transaktionsverwaltung

10. Übungsblatt. Für die Übung am Donnerstag, 15. Januar 2009, von 15:30 bis 17:00 Uhr in 13/222.

Kapitel 9a Transaktionen - Synchronisation

Kommunikation und Datenhaltung

Datenbanken 1. Sommersemester Übung 8

An Overview of the Signal Clock Calculus

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

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

Objektorientierte Programmierung (OOP)

Software Entwicklung 1

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

11.3 Transaktionen und LUWs in SAP R/3

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

11.3 Transaktionen und LUWs in SAP R/3

5. Transaktionsverarbeitung

WS2017/ Oktober 2017

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Synchronisation in Datenbanksystemen in a nutshell

OOP. Tagesprogramm. Zusicherungen Zusicherungen und Ersetzbarkeit

Beispielszenarien. 12. Transaktionen. ACID-Eigenschaften. Transaktion

Transaction Validation for XML Documents based on XPath

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Dr. Thomas Neumann

Zusicherungen A01 OOP. Zusicherungen

Verteiltes Sperren Verteilte Recovery

Übungen zur Vorlesung. Datenbanken I. WS 2002/2003 Blatt 4 MUSTERLÖSUNG

Fehlerbehandlung und Recovery

Warum Programme Verträge schließen sollten

6. Verteilte Transaktionsverwaltung Einführung Synchronisation

Algorithmen und Datenstrukturen 1. EINLEITUNG. Algorithmen und Datenstrukturen - Ma5hias Thimm 1

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

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

Kapitel 2 Transaktionsverwaltung

Datenbankadministration

3. Synchronisation: Weitere Verfahren, Leistungsbewertung

Replikation und Caching für mobile Anwendungen

Inhalt. Unland, Rainer Datenbanken im Einsatz digitalisiert durch: IDS Basel Bern

1 Referentielle Aktionen

Kapitel 3 Teil 3 Synchronisation - Algorithmen II

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

WS2018/ Oktober 2018

{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel

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

Transaktionsstruktur (1) Transaktionsverwaltung in verteilten Systemen

8. Transaktionsverarbeitung. Architektur von Datenbanksystemen I

Grundlagen Datenhaushalt Verfahren um Prozeß- Daten zu erhalten?

sowie ein Konzept zur Behandlung von Konflikten, die infolge der fehlenden Serialisierbarkeit auftreten können.

Seminarvortrag. Transaktionen in WebServices. Service-orientierte Architektur (SOA) Vortragender: Tobias Ramin

Query Result Caching. Optimierung des Datenbankzugriffs

Einführung in die Programmiertechnik

Betriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion

3.6 Transaktionsverwaltung

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

6. Verteilte Transaktionsverwaltung

n 1. Erste Schritte n 2. Einfache Datentypen n 3. Anweisungen und Kontrollstrukturen n 4. Verifikation n 5. Reihungen (Arrays)

BPEL und Transaktionen

Geschachtelte Klassen

Datenbanken Implementierungstechniken SS2015

PostgreSQL im Cluster. Hans-Jürgen Schönig Hans-Jürgen Schönig

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

Datenintegrität und Transaktionskonzept

Transkript:

6. Transaktionskonzept: Weiterentwicklungen eschränkungen flacher Transaktionen Rücksetzpunkte (Savepoints) (Geschlossen) Geschachtelte Transaktionen Konzept Sperrverfahren Freiheitsgrade im Modell Offen geschachtelte Transaktionen Transaktionsketten (Sagas) ConTracts Lange ntwurfstransaktionen Prof.. Rahm 6-1 eschränkungen flacher Transaktionen: nwendungsbeispiele CI auf kurze Transaktionen zugeschnitten, Probleme mit "lang-lebigen" ktivitäten (long-lived transactions) lange atch-vorgänge (sp.: Zinsberechnung) lles-oder-nichts führt zu hohem Verlust an rbeit insatz vieler unabhängiger Transaktionen verlangt manuelle Recovery-Maßnahmen nach Systemfehler Workflows sp.: mehrere Reservierungen für ienstreise lange Sperrdauer führt zu katastrophalem Leistungsverhalten (Sperrkonflikte, eadlocks) Rücksetzen der gesamten ktivität im Fehlerfall i.a. nicht akzeptabel ntwurfsvorgänge (C, CS,...) lange auer von ntwurfsvorgängen (Wochen/Monate) kontrollierte Kooperation zwischen mehreren ntwerfern Unterstützung von Versionen Prof.. Rahm 6-2

eschränkungen flacher Transaktionen lles-oder-nichts-igenschaft oft inakzeptabel: hoher rbeitsverlust höhere Wahrscheinlichkeit, durch Systemfehler zurückgesetzt zu werden Isolation Leistungsprobleme durch "lange" Sperren Sperren vieler Objekte rhöhung der lockierungsrate und Konfliktrate höhere Rücksetzrate (eadlockhäufigkeit stark abhängig von der Größe der Transaktion) fehlende Unterstützung zur Kooperation keine innenstruktur fehlende Kapselung und Zerlegbarkeit von Teilabläufen keine abgestufte Kontrolle für Synchronisation und Recovery keine Unterstützung zur Parallelisierung fehlende enutzerkontrolle Prof.. Rahm 6-3 Partielles Zurücksetzen von Transaktionen Voraussetzung: private Rücksetzpunkte (Savepoints) innerhalb einer Transaktion T 1 T 11 T 12 T 13 T 14 T 15 T 1n R (0) R (1) R (2) R (k) = Transaktionsschritt R(i) = i-ter Rücksetzpunkt Operationen: SVPOINT R(i) ROLLCK TO SVPOINT R(j) Protokollierung aller Änderungen, Sperren, Cursor-Positionen etc. notwendig Partielle UNO-Operation bis R(i) in LIFO-Reihenfolge Problem: Savepoints werden vom Laufzeitsystem der Programmiersprachen nicht unterstützt Prof.. Rahm 6-4

SQL-Transaktionsanweisungen Prof.. Rahm 6-5 Savepoints in SQL:1999 STRT TRNSCTION [R { ONLY WRIT } ] [ISOLTION LVL { R UNCOMMITT R COMMITT RPTL R SRILIZL } ] ST TRNSCTION [R { ONLY WRIT } ] [ISOLTION LVL {... } ] ST CONSTRINTS { LL <Liste von Int.beding.>} {IMMIT FRR} COMMIT [WORK] [N [NO] CHIN] SVPOINT <Rücksetzpunktname> RLS SVPOINT <Rücksetzpunktname> ROLLCK [WORK] [N [NO] CHIN] [TO SVPOINT <Rücksetzpunktname>] eispiel INSRT INTO Pers (PNR, Name, Gehalt) VLUS (1234, Schulz, 40000); INSRT INTO Pers (PNR, Name, Gehalt) VLUS (1235, Schneider, 38000); SLCT SUM (Gehalt) INTO Summe FROM Pers; IF Summe > 1000000 THN ROLLCK; LS SVPOINT R1; INSRT INTO Pers (PNR, Name, Gehalt) VLUS (1300, Weber, 39000);... IF... THN ROLLCK TO SVPOINT R1; Geschachtelte Transaktionen (nested transactions) Zerlegung einer Transaktion in eine Hierarchie von Sub- Transaktionen Zerlegung erfolgt anwendungsbezogen, z.. gemäß Modularisierung von nwendungsfunktionen Transaktionsbaum verdeutlicht statische ufrufhierarchie H G I C F ausgezeichnete Transaktion = Top-Level Transaction (TL) ewahrung der CI-igenschaften für TL-Transaktion Welche igenschaften gelten für Sub-Transaktionen? Prof.. Rahm 6-6

Transaktionseigenschaften K I L C H F G Kontrollbereich von C Commit-Regel: as (lokale) Commit einer Sub-Transaktion macht ihre rgebnisse nur der Vater-Transaktion zugänglich. as endgültige Commit der Sub-Transaktion erfolgt dann und nur dann, wenn für alle Vorfahren bis zur TL-Transaktion das endgültige Commit erfolgreich verläuft. Rücksetzregel: Wenn eine (Sub-) Transaktion auf irgendeiner Schachtelungsebene zurückgesetzt wird, werden alle ihre Sub-Transaktionen, unabhängig von ihrem lokalen Commit-Status ebenso zurückgesetzt. iese Regel wird rekursiv angewendet. Sichtbarkeits-Regel: Änderungen einer Sub-Transaktion werden bei ihrem Commit für die Vater-Transaktion sichtbar. Objekte, die eine Vater-Transaktion hält, können Sub-Transaktionen zugänglich gemacht werden. Änderungen einer Sub-Transaktion sind für Geschwister-Transaktionen nicht sichtbar. Prof.. Rahm 6-7 igenschaften von Sub-Transaktionen : erforderlich wegen Zerlegbarkeit, isoliertes Rücksetzen, usw. C: zu strikt; Vater-Transaktion (spätestens TL-Transaktion) kann Konsistenz wiederherstellen I: erforderlich wegen isolierter Rücksetzbarkeit usw. : nicht möglich, da Rücksetzen eines äußeren Kontrollbereichs das Rücksetzen aller inneren impliziert Prof.. Rahm 6-8

Geschachtelte Transaktionen: Sperrverfahren Sperren bei flachen Transaktionen: rwerb gemäß Kompatibilitätsmatrix (z.. Halten von R- und X-Sperren) Freigabe bei Commit Unterscheidung zwischen gehaltenen (X- und R-) Sperren und von Sub-Transaktionen geerbten Platzhalter-Sperren (retained locks) r-x und r-r r-x: nur Nachfahren im Transaktionsbaum (und Transaktion selbst) können Sperren erwerben r-r: keine X-Sperre für Vorfahren im Transaktionsbaum sowie andere (unabhängige) Transaktionen Prof.. Rahm 6-9 Regeln zum Sperren geschachtelter Transaktionen R1: Transaktion T kann X-Sperre erwerben falls keine andere Transaktion eine X- oder R-Sperre auf dem Objekt hält, sowie alle Transaktionen, welche eine r-x oder r-r-sperre besitzen, Vorfahren von T sind (bzw. T selbst) R2: Transaktion T kann R-Sperre erwerben falls keine andere Transaktion eine X-Sperre hält, sowie alle Transaktionen, welche eine r-x besitzen, Vorfahren von T sind (bzw. T selbst) R3: eim Commit von Sub-Transaktion T erbt Vater von T alle Sperren von T (reguläre + retained-sperren). Für reguläre Sperren von T werden beim Vater die entsprechenden retained-sperren gesetzt R4: eim bbruch einer Transaktion T werden alle regulären und Platzhalter- Sperren von T freigegeben. Sperren der Vorfahren bleiben davon unberührt. Prof.. Rahm 6-10

Geschachtelte Transaktionen: Sperrverfahren (2) a) Lese-Szenario R C R R-lock commit C commit R-lock R-lock b) Änderungs-Szenario X C commit C R-lock commit R-lock commit R-lock Prof.. Rahm 6-11 a) Geschachtelte Transaktionen: Sperrverfahren (3) X-Sphäre r-x R-Sphäre......... b) X-Retain-Sperre für R-lock commit r-x......... X-lock Prof.. RahmX-Retain-Sperre für 6-12 commit

Geschachtelte Transaktionen: Sperrverfahren (4) eschränkungen des vorgestellten Sperrverfahrens Sub-Transaktionen können keine Objekte lesen oder ändern, die von einem Vorfahren geändert wurden Sub-Transaktionen können keine Objekte ändern, die von einem Vorfahren gelesen wurden bhilfe: Unterstützung von ufwärts- und bwärts-vererbung von Sperren bei Sperrkonflikt zwischen Sub-Transaktion und Vorfahr kann Vorfahr Sperre an Sub- Transaktion vererben (downward inheritance) Vorfahr reduziert seine Sperre auf Platzhalter-Sperre X X-Sperre für Prof.. Rahm 6-13 X-lock commit Vorteile Merkmale geschlossen geschachtelter Transaktionen explizite Kontrollstruktur innerhalb von Transaktionen Unterstützung von Intra-Transaktionsparallelität Unterstützung verteilter Systemimplementierung feinere Recovery-Kontrolle innerhalb einer Transaktion Modularität des Gesamtsystems einfachere Programmierung paralleler bläufe CI für Wurzel-Transaktionen lässt Hauptprobleme flacher Transaktionen ungelöst tomarität gegenüber Systemfehlern Isolation zwischen Transaktionen Prof.. Rahm 6-14

Offen geschachtelte Transaktionen (open nested transactions) Freigabe von Ressourcen (Sperren) bereits am nde von Sub- Transaktionen - vor bschluss der Gesamttransaktion Ziel: Lösung des Isolationsproblems langlebiger Transaktionen verbesserte Inter-Trans.parallelität (neben Intra-Transaktionsparallelität) Probleme hinsichtlich Synchronisation sowie Recovery Synchronisationsprobleme Sichtbarwerden "schmutziger" Änderungen verletzt i.a. Serialisierbarkeit dennoch werden oft mit der Realität verträgliche bläufe erreicht ggf. insatz semantischer Synchronisationsverfahren Prof.. Rahm 6-15 Offene Schachtelung (2) vorzeitige Freigabe von Änderungen erfordert kompensationsbasierte Undo-Recovery zustandsorientierte Undo-Recovery nicht möglich -> logische Kompensation Kompensationen sind auch in der Realität verbreitet (Stornierung, Terminabsage,...) Probleme kompensationsbasierter Recovery Korrektheit der Kompensationsprogramme Kompensationen dürfen nicht scheitern nicht alle Operationen sind kompensierbar (z.. "real actions" mit irreversiblen uswirkungen) Prof.. Rahm 6-16

as Konzept der Sagas Saga langlebige Transaktion, die in eine Sammlung von Sub- Transaktionen aufgeteilt werden kann T spezielle rt von zweistufigen, offen geschachtelten Transaktionen OS T 1 T 2 T 3... T n OS T i geben Ressourcen vorzeitig frei Verzahnung mit T j anderer Transaktionen (Sagas) keine Serialisierbarkeit der Gesamt-Transaktion (Saga) Rücksetzen von Sub-Transaktionen durch Kompensation alle T i gehören zusammen; keine teilweise usführung von T ereitstellung von Kompensationstransaktionen C i für jede T i Prof.. Rahm 6-17 Sagas (2) Zusicherung des S 1. T 1, T 2, T 3,..., T n oder 2. T 1, T 2,..., T j, C j,..., C 2, C 1 für irgendein 0 j < n Fehlerfall (ackward Recovery) S garantiert LIFO-usführung der Kompensationen Kompensationen dürfen nicht scheitern ackward-revovery vielfach unerwünscht, v.a. nach Systemfehler Unterstützung von Forward-Recovery durch (persistente) Savepoints Partielles Rücksetzen möglich: Kombination von ackward- und Forward-Recovery Prof.. Rahm 6-18

Sagas (3) Szenario: Savepoint nach T 2 Crash nach T 4 blauf: S, T 1, T 2, SP, T 3, T 4, C 4, C 3, T 3, T 4, T 5, T 6, S Zusammenfassung der igenschaften: +I für jede Sub-Transaktionen T i +C+ für umfassende Transaktion T Prof.. Rahm 6-19 ConTracts ConTract-Modell: Mechanismus zur kontrollierten und zuverlässigen usführung langlebiger ktivitäten zweistufiges Programmiermodell: Trennung nwendungsentwicklung von eschreibung der blaufstruktur Skript: eschreibung der blaufstruktur / Kontroll- und atenfluss (Workflow-efinition) Steps: Programmierung der elementaren Verarbeitungsschritte der nwendung + Kompensationsaktion Step ist sequentielles Programm, z.. CI-Transaktion Zentrale Konsistenzeigenschaft: ein ConTract terminiert in endlicher Zeit und in einem korrekten ndzustand auch bei Systemfehler Fortsetzung der Verarbeitung nach vorne oder kontrollierte Zurückführung eines ConTracts auf seinen nfangszustand Prof.. Rahm 6-20

eispiel-workflow S 6 bbruch S 3 Fehler S 5 S 1 S 2 S 3 S 4 Fehler S 5 S 7 C 1 C 2 S 3 Flugstatus zeigen Flugreservierung Hotelinfo Hotelreservierung Leihauto okumente drucken Prof.. Rahm 6-21 ConTracts (Forts.) rweiterungen gegenüber Saga-nsatz reichere Kontrollstrukturen (Sequenz, Verzweigung, Parallelität, Schleife, etc.) getrennte eschreibung von Steps und blaufkontrolle (Skript) Verwaltung eines persistenten Kontextes für globale Variablen, Zwischenergebnisse, ildschirmausgaben, etc. Synchronisation zwischen Steps über Invarianten flexible Konflikt-/Fehlerbehandlung Transaktionsübergreifende Kontrolle der Vearbeitung Synchronisation Recovery Kontext Prof.. Rahm 6-22

Synchronisation von Contracts Synchronisation mit Invarianten: semantische Synchronisationsbedingungen für korrekte Step-usführung Wenig ehinderungen: hohe Parallelität usschluss von Konsistenzverletzungen trotz frühzeitiger Sperrfreigabe Invarianten steuern die Überlappung parallel ablaufender ConTracts bzw. Steps über Prädikate (keine Serialisierbarkeit) usgangs-invarianten charakterisieren den am nde eines Steps erreichten Zustand der bearbeiteten Objekte Folge-Step kann mit seiner ingangs-invarianten überprüfen, ob die edingung für seine korrekte Synchronisation noch erfüllt ist Realisierung mit Check/Revalidate-nsatz Real ctions können nicht über Invarianten synchronisiert werden Prof.. Rahm 6-23 # frei > 1 # frei > 1 Flugauskunft Flugbuchung -Verarbeitung in ntwurfsumgebungen Workstation Tools Tools Tools WMS WMS WMS private Merkmale Workstation/Server-rchitektur lange auer von ntwurfsvorgängen (Wochen/Monate) enutzerkontrolle (nicht-deterministischer blauf) kontrollierte Kooperation zwischen mehreren ntwerfern Unterstützung von Versionen Lösungsansätze: Checkout/Checkin-Modell transaktionsinterne Savepoints vorzeitiger ustausch von Änderungen zwischen esignern Prof.. Rahm 6-24 Server SMS public

ntwurfstransaktion bei Workstation/ Server-Kooperation ntwurfstransaktion STRT N rbeitsplatzrechner SV lokale Verarbeitung lokale Verarbeitung Checkout 1 Checkout 2 Checkout 3 SUSPN RSUM RSTOR lokale Verarbeitung Isolation von ntwurfsobjekt 1 Isolation von ntwurfsobjekt 2 Isolation von ntwurfsobjekt 3 Server Charakteristika: 0.. n Checkout-, 0.. 1 Checkin-Vorgänge, lange auer Speicherung von Zwischenzuständen einer ntwurfstransaktion zum: Unterbrechen der Verarbeitung (SUSPN, RSUM) Rücksetzten auf frühere Verarbeitungszustände (SV, RSTOR) Prof.. Rahm 6-25 Zusammenfassung CI verbreitet und bewährt, hat jedoch eschränkungen Geschlossen geschachtelte Transaktionen Unterstützung von Intra-Transaktionsparallelität feinere Rücksetzeinheiten v.a. in verteilten Systemen wichtig Offen geschachtelte Transaktionen (z.. Sagas) Unterstützung langlebiger Transaktionen Reduzierung der Konfliktgefahr durch vorzeitige Sperrfreigabe (=> erhöhte Inter- Transaktions-Parallelität) ackward-recovery durch Kompensation Forward-Recovery erforderlich Unterstützung langer ntwurfstransaktionen zugeschnittene Verarbeitungsmodelle (Checkout/Checkin) Kooperation innerhalb von Transaktionen Unterstützung von Versionen und Savepoints Prof.. Rahm 6-26

Übungsfragen Welche der CI-igenschaften gelten nicht mehr für Transaktionen mit Savepoints geschlossen geschachtelte Transaktionen bzw. deren Subtransaktionen Sagas ntwurfsvorgänge mit Checkout/Checkin-Verarbeitung Welche Unterschiede bestehen zwischen offen und geschlossen geschachtelten Transaktionen? Welche Probleme bestehen bezüglich Kompensationen? Prof.. Rahm 6-27