300 likes | 427 Views
» Überblick. Überblick. Motivation Grundlagen Geschichte Definition und Eigenschaften Transaktions-Modelle Vorstellung jeweils mit Eigenschaften Eignung für verteilte Systeme aktuelle Entwicklungen Ausblick. » Motivation. Motivation. Online-Reisebuchung Transaktions-Konzept:
E N D
» Überblick Überblick • Motivation • Grundlagen • Geschichte • Definition und Eigenschaften • Transaktions-Modelle • Vorstellung jeweils mit • Eigenschaften • Eignung für verteilte Systeme • aktuelle Entwicklungen • Ausblick Stephanie Gamm
» Motivation Motivation • Online-Reisebuchung • Transaktions-Konzept: Paradigma zur Behandlung von Fehlern [GrRe-1993] Stephanie Gamm
» Grundlagen Geschichte – von damals ... • Idee der Transaktion eigentlich tausende Jahre alt, aber in der Informatik... • Ursprung von Transaktionen: Datenbanken • aktive Forschung seit Anfang 1970er • ACID-Begriffsprägung 1983 durch Härder und Reuter viele Clients – ein zentraler Server Stephanie Gamm
» Grundlagen Geschichte – ... bis heute • Transaktions-Konzept: • entscheidende Technik für verteilte Daten und verteilte Berechnungen (nach Jim Gray [Elma-1992]) • aktuelle Transaktions-Modelle zur Prozess-Kontrolle bis zu kooperativer Zusammenarbeit • viele Clients – viele, verteilte Server • nicht auf Datenbanken beschränkt! Stephanie Gamm
» Grundlagen Definition und Eigenschaften • Transaktion: • Folge von Aktionen, die ausgeführt werden müssen, um ein Ziel zu erreichen • logische Einheit • ACID: geforderte Eigenschaften für eine Transaktion Stephanie Gamm
» Grundlagen ACID-Eigenschaften • Atomicity • eine Transaktion wird ganz oder gar nicht ausgeführt • Consistency • vor und nach jeder Transaktion befindet sich das Gesamtsystem in korrektem Zustand, d.h. Einhaltung sämtlicher Integritätsbedingungen • Isolation • nebenläufig ausgeführte Transaktionen verhalten sich wie serielle Ausführung, d.h. keine gegenseitige Beeinflussung • Durability • Zustandsänderung einer erfolgreich beendeten Transaktion ist dauerhaft Stephanie Gamm
» Grundlagen Einhaltung von ... • Consistency: • Aufgabe des Transaktions-Entwicklers • z.B. durch Commit-Protokolle für verteilte Transaktionen • Atomicity, Isolation, Durability: • Aufgabe des TP-Systems (TP: Transaction Processing) • durch Nebenläufigkeitskontrolle und Wiederherstellung Stephanie Gamm
» Grundlagen Nebenläufigkeitskontrolle (concurrency control) • beschäftigt sich mit Algorithmen, um Isolation sicherzustellen • Korrektheitskriterium für nebenläufige Transaktionen: Serialisierbarkeit • z.B. striktes 2-Phase-Locking (garantiert globale Serialisierbarkeit), Timestamp-ordered concurrency control • Problem: Erkennen von (verteilten) Deadlocks Stephanie Gamm
» Grundlagen Fehlerbehebung / Wiederherstellung (recovery) • Strategien zur Einhaltung von Atomicity und Durability • Verhalten bei Abbruch einer (Sub-) Transaktion, Ausfall eines Teilnehmers etc. • z.B. Logging-Mechanismen Stephanie Gamm
» Transaktions-Modelle Transaktions-Modelle • Vorstellung verbreiteter Transaktions-Modelle • Eigenschaften • Eignung für verteilte Systeme Stephanie Gamm
» Transaktions-Modelle Flat Transactions • einfachste Transaktion • sequentielle Ausführung • erfüllt ACID-Eigenschaften • "flat" • eine Schicht kontrolliert den gesamten internen Ablauf • 3 Aktivitäten: begin, commit, rollback begin(); read(x); write(y); commit(); Stephanie Gamm
» Transaktions-Modelle "klassische" verteilte Transaktionen (distributed) • typischerweise flache Transaktion in verteilter Umgebung • Ausführung auf verschiedenen Knoten im Netzwerk • "ganz-oder-gar-nicht"-Prinzip 2-Phase-Commit-Protokoll Stephanie Gamm
[Coll-2004] » Transaktions-Modelle 2-Phase-Commit (2PC) • Koordinator • Abstimmungs- und Commit-Phase • implementiert in kommerziellen DB-Systemen • weiterhin existieren diverse 2PC-Varianten, 3PC (berücksichtigt zusätzlich Koordinator-Ausfall), ... Stephanie Gamm
» Transaktions-Modelle Schwachstellen von (verteilten) flachen Transaktionen • ggf. ineffizient aufgrund sequentieller Ausführung • keine Modularisierung bzw. Einführung von Abstraktionsebenen möglich Nested Transactions • kein Commit von Zwischenergebnissen Chained Transactions neue Arten von Anwendungen führen zu neuen, spezialisierten Transaktions-Modellen Stephanie Gamm
» Transaktions-Modelle Nested Transactions • ineinander geschachtelte Subtransaktionen • hierarchische Anordnung, Baumstruktur • alle Kind-Transaktionen einer Eltern-Transaktion können sequentiell oder parallel ausgeführt werden • Commit aller Subtransaktionen erst bei Commit der Root-Transaktion Stephanie Gamm
» Transaktions-Modelle Chained Transactions • sequentielle Verkettung von Subtransaktionen • "chaining": bei Commit einer Subtransaktion wird automatisch neue Subtransaktion gestartet • bessere Performance durch frühes Freigeben der gesperrten Ressourcen • Rollback nur für aktuelle Subtransaktion • Problem: • Recovery im Fehlerfall: Initiator hat keine Kenntnis über erreichte Zustandsänderung Stephanie Gamm
» Transaktions-Modelle erweiterte Anforderungen • verstärkte Verteilung und Integration • heterogene Systemlandschaften (bis zur Autonomie) • Transaktionen mit langen Laufzeiten (Tage, Wochen, Monate...) • Interaktion von Mensch und Maschine innerhalb einer globalen Transaktion • Probleme • Ressourcen zu lange gesperrt Locking für gesamte Transaktionsdauer (2PL) • was bei Ausfall des Systems, eines Knotens...? Long-lived Transactions Stephanie Gamm
» Transaktions-Modelle Long-lived Transactions (long-running ~) • möglichst wenig erfolgreiche Arbeit im Fehlerfall verlieren • Lösen von Atomicity • bei unterbrochener Transaktion • Aufsetzpunkt außerhalb der Transaktion merken optimistische Nebenläufigkeitskontrolle • bewusstes Lockern der ACID-Eigenschaften Stephanie Gamm
» Transaktions-Modelle Long-lived Transactions • Komposition mehrerer, lose gekoppelter Subtransaktionen • Commit von Zwischenergebnissen • zwei Strategien für Aufsetzen auf einer unterbrochenen Transaktion • Fortsetzen der Transaktion am Aufsetzpunkt Mini-Batch • Rückgängigmachen aller bisherigen Aktionen Sagas • Wahl der Strategie abhängig von Anwendungsfall Stephanie Gamm
» Transaktions-Modelle Mini-Batch • Grundlage: Modell der Chained Transactions • zusätzlich explizites Merken der erfolgreichen Aktionen • im Fehlerfall kann so wieder aufgesetzt und Transaktion fortgesetzt werden • kein Rollback Stephanie Gamm
[Voss-2006] » Transaktions-Modelle Sagas • Grundlage: Modell der Chained Transactions • zusätzlich Definition von Compensation-Transaktionen für jede Subtransaktion • bei Abbruch einer Subtransaktion werden die Compensation-Aktionen aller vorherigen Subtransaktionen in umgekehrter Reihenfolge ausgeführt • kompletter Rollback Stephanie Gamm
» Transaktions-Modelle Long-lived Transactions • allgemein: • es existieren in der Theorie zahlreiche, verschiedene Modelle für Transaktionen • einige sind ausgereift und in kommerziellen Produkten implementiert bzw. als Standard anerkannt • aber: • speziell bei hoher Verteilung und heterogenen, lose gekoppelten Systemen sind viele Aspekte noch ungeklärt bzw. muss die Theorie noch praxistauglich gemacht werden Stephanie Gamm
[KiBe-2006] » aktuelle Entwicklungen aktuelle Entwicklungen • Workflow • komplexer, langlaufender Geschäftsprozess in verteilter und heterogener Umgebung • Anforderung an ACID besteht oft nicht • "Compensational Tasks" (ähnlich zu Sagas) Stephanie Gamm
[JuMa-2004] » aktuelle Entwicklungen aktuelle Entwicklungen • Workflows in Zukunft immer wichtiger für Implementierung von Web Services und Orchestrierung [KiBe-2006] Stephanie Gamm
» aktuelle Entwicklungen aktuelle Entwicklungen • SOA und Workflows • z.B. BTP (Business Transaction Protocol) von OASIS • verteilte Transaktions-Modelle für: • mobile Anwendungen • Collaboration-Umgebungen • ... Stephanie Gamm
» Ausblick Ausblick • Themengebiet bei Prof. Zukunft: »Serverbasierte Softwaresysteme im Umfeld "Mobile Computing, Workflow Management und SOA"« Stephanie Gamm
» Quellen Quellen (Auszug) [Elma-1992] ELMAGARMID, Ahmed K. (Hrsg.): Database transaction models for advanced applications, Morgan Kaufmann Publishers, San Mateo, California, 1992 [GrRe-1993] GREY, Jim; REUTER, Andreas: Transaction processing: concepts and techniques, Morgan Kaufmann Publishers, San Francisco, California, 1993 [KiBe-2006] KIFER, Michael; BERNSTEIN, Arthur; LEWIS, Philip M.: Database systems – An application-oriented approach, Second edition, Complete version, Addison Wesley, Boston, San Francisco, New York […], 2006 [WeVo-2002] WEIKUM, Gerhard; VOSSEN, Gottfried: Transactional information systems: theory, algorithms, and the practice of concurrency control and recovery, Morgan Kaufmann Publishers, San Francisco, California, 2002 Stephanie Gamm
» Quellen Bildnachweis [Coll-2004] http://www.collide.info/Lehre/SeminarWS0405/ verteilte_transaktionen_vortrag_1.pdf, Zugriffdatum: 17.05.2006 [JuMa-2004] JURIC, Matjaz B. ; MATHEW, Benny ; SARANG, Poornachandra: Business Process Execution Language for Web Services, Packt Publishing, Birmingham, 2004 [KiBe-2006] KIFER, Michael; BERNSTEIN, Arthur; LEWIS, Philip M.: Database systems – An application-oriented approach, Second edition, Complete version, Addison Wesley, Boston, San Francisco, New York […], 2006 [Voss-2006] http://www.wi.uni-muenster.de/imperia/md/content/wi-information_systems/lehrveranstaltungen/lehrveranstaltungen/ bpmundwfm/ws0506/2006_01_09.transaktionale.garantien.pdf, Zugriffsdatum: 17.05.2006 Stephanie Gamm