1 / 30

Überblick

» Ü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:

Download Presentation

Überblick

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. » Überblick Überblick • Motivation • Grundlagen • Geschichte • Definition und Eigenschaften • Transaktions-Modelle • Vorstellung jeweils mit • Eigenschaften • Eignung für verteilte Systeme • aktuelle Entwicklungen • Ausblick Stephanie Gamm

  2. » Motivation Motivation • Online-Reisebuchung • Transaktions-Konzept: Paradigma zur Behandlung von Fehlern [GrRe-1993] Stephanie Gamm

  3. » 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

  4. » 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

  5. » 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

  6. » 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

  7. » 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

  8. » 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

  9. » 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

  10. » Transaktions-Modelle Transaktions-Modelle • Vorstellung verbreiteter Transaktions-Modelle • Eigenschaften • Eignung für verteilte Systeme Stephanie Gamm

  11. » 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

  12. » 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

  13. [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

  14. » 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

  15. » 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

  16. » 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

  17. » 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

  18. » 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

  19. » 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

  20. » 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

  21. [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

  22. » 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

  23. [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

  24. [JuMa-2004] » aktuelle Entwicklungen aktuelle Entwicklungen • Workflows in Zukunft immer wichtiger für Implementierung von Web Services und Orchestrierung [KiBe-2006] Stephanie Gamm

  25. » 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

  26. » Ausblick Ausblick • Themengebiet bei Prof. Zukunft: »Serverbasierte Softwaresysteme im Umfeld "Mobile Computing, Workflow Management und SOA"« Stephanie Gamm

  27. » 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

  28. » 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

More Related