1 / 38

verteilte Transaktionssysteme

verteilte Transaktionssysteme. Wolfgang Bartels. Bedürfnisse von E-Commerce-Systemen. Verwaltung großer Datenmengen Sicherheit und Konsistenz. Buch-haltung. Bezah-lung. Bank. Rech-nung. Bank-konto. Vertrag. Liefer-schein. Kunde. Spedi-teure. Lager. Zulie-ferer.

Télécharger la présentation

verteilte Transaktionssysteme

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. verteilte Transaktionssysteme Wolfgang Bartels

  2. Bedürfnisse von E-Commerce-Systemen • Verwaltung großer Datenmengen • Sicherheit und Konsistenz Buch-haltung Bezah-lung Bank Rech-nung Bank-konto Vertrag Liefer-schein Kunde Spedi-teure Lager Zulie-ferer

  3. Was sollte man nach diesem Vortrag gelernt haben ? • Was sind Transaktionen und warum sind sie wichtig ? • Welche Probleme entstehen in diesem Kontext und wie werden sie gelöst ? • Wo werden Transaktionen eingesetzt ? • Welche Produkte arbeiten mit diesem Konzept ?

  4. Tagesordnung • Grundlagen • Transaktionen • Grundbegriffe • Concurrency Control • Probleme • Sperrprotokolle • Transaktionen in verteilten Systemen • verteilte Transaktionssysteme • Das 2-Phasen-Commit-Protokoll • Produkte • Datenbanksysteme unter Linux

  5. Transaktion • Eine Transaktion ist eine Menge von Operationen (z.B. DB-Operationen oder Nachrichten), die folgende Eigenschaften erfüllt : • Atomicity (Atomarität) • Consistency (Konsistenz) • Isolation • Durability (Dauerhaftigkeit) • Eine Transaktion wird mit einem BeginTransaction (BeginTA) eingeleitet. • Eine erfolgreiche Beendigung einer Transaktion wird mit einem COMMIT abgeschlossen • Eine fehlerhafte Beendigung wird mit einem ROLLBACK abgeschlossen ACID

  6. Atomicity Es werden entweder alle Operationen der Transaktion ausgeführt oder keine von ihnen („Alles oder Nichts“-Prinzip)

  7. Consistency (Konsistenz) Die Transaktion ist die Einheit der Datenbankkonsistenz. Nach Beendigung der Transaktion sind alle physischen und logischen Integritätsbedingungen erfüllt. D.h. nach Beendigung der Transaktion befindet sich das System in einem konsistenten Zustand

  8. Isolation Die Transaktion wird auch in einem Mehrbenutzerbetrieb so ausgeführt, als würde sie im Einbenutzerbetrieb arbeiten (logischer Einbenutzerbetrieb). Dadurch wird das Ausbleiben unerwünschter Nebeneffekte garantiert !

  9. Durability (Dauerhaftigkeit) Die von einer erfolgreich abgeschlossenen Transaktion getätigten Änderungen sind persistent und überleben jeden danach auftretenden Hard- und Softwarefehler.

  10. Beispiel für Transaktionen Eine Banküberweisung von Konto1 auf Konto2: BeginTA Wenn Kontostand1 >= Überweisungsbetragerhöhe Kontostand1 um den Überweisungsbetrag Wenn Konto2 existiertvermindere Kontostand2 um den Überweisungsbetrag Sonst ROLLBACK COMMIT

  11. Probleme mit Transaktionen Transaktion1 Transaktion2 read(Kontostand) Kontostand += 100 read(Kontostand) Kontostand += 1.000.000 write Kontostand write Kontostand „Lost-Update-Problem“

  12. Concurreny Control durch Sperrprotokolle • Problem : • überlappende Transaktionen arbeiten auf den gleichen Datensätzen mit Lese- und Schreiboperationen • Lösungen • Zeitstempelverfahren • Sperrprotokolle (z.B. 2 Phase Locking Protocol)

  13. Sperrprotokolle • Eine Sperre ist ein (zeitlich begrenztes) „Zugriffsprivileg“ auf ein Datenobjekt. • Es existieren 2 Arten von Sperren Lese- und Schreibsperren.Es sind nur Lesesperren miteinander verträglich • Ein Sperrprotokoll beschreibt die Reihenfolge der Sperraktionen, d.h. der Sperranfragen und – freigaben • Ein Sperrverwalter ist eine Komponente, die Sperren gemäß dem Sperrprotokoll gewährt, verweigert bzw. aufhebt

  14. Das 2-Phasen-Sperrprotokoll • Regeln • Ehe eine TA ein Objekt liest, muss es eine Lesesperre darauf besitzen • Ehe eine TA ein Objekt schreibt, muss es eine Schreibsperre besitzen • Fängt eine TA an seine Sperren aufzugeben, kann es keine neuen erhalten (d.h. eine TA hält ihre Sperren bis zu ihrem Ende) • 2 TA‘s können nicht gleichzeitig unverträgliche Sperren auf demselben Objekt halten

  15. Tagesordnung • Grundlagen • Transaktionen • Grundbegriffe • Concurrency Control • Probleme • Sperrprotokolle • Transaktionen in verteilten Systemen • verteilte Transaktionssysteme • Das 2-Phasen-Commit-Protokoll • Produkte • Datenbanksysteme unter Linux Fragen ?

  16. verteilte Transaktionssysteme (vTS) In einem vTS erfolgt die Verarbeitung von verteilten Transaktionen unter Kontrolle von TP-Monitoren. Ein TP-Monitor ist eine Komponente eines Transaktions-systems, welche folgende Aufgaben übernimmt: • die Ausführung von Transaktionsprogrammen • Nachrichtenverwaltung • Transaktionsverwaltung • Authentifikation und Authorisierung • Kommunikation von Programmen und Terminals Punkt 3. wird durch eine Teilkomponente – den Transaktionsmanager (TM) – realisiert.

  17. Client/Server Cut Client Distributed Presentation End-user interface TP-Monitor Remote Presentation Distributed Logic Applikation Functional Logic Server Server Remote Data TP-Monitor TP-Monitor DBMS DBMS Distributed Data Data Access DB DB Abb.1: Client/Server-Konfiguration Abb.2: Client/Server-Topologien Transaktionsverarbeitung in Client/Server-Systemen

  18. verteilte Transaktionen • Ausführung der Transaktion auf einem oder mehreren Knoten (Rechnern).Der Knoten, auf dem die Transaktion begonnen wurde heißt Heimatknoten bzw. Koordinator (-Knoten).Annahme : Jeder Knoten besitzt einen Transaktionsmanager • An jedem beteiligten Knoten wird eine Teil- bzw. Subtransaktion ausgeführt.

  19. Work Done Abort Work Probleme bei verteilten Transaktionen BeginTA BeginTA Doing BeginTA Doing Commit TM1 BeginTA Doing BeginTA BeginTA Doing Rollback Koordinator BeginTA BeginTA Doing BeginTA Doing Rollback TM2

  20. Das 2-Phasen-Commit Protokoll (2PC) 1. Phase • Bei Transaktionsende schickt Koordinator ein PREAPRE-Nachricht gleichzeitig an alle Agenten, um deren lokales Commit-Ergebnis in Erfahrung zu bringen. • Erhalt der PREPARE-Nachricht beim Agenten: • erfolgreiche Ausführung der SubtransaktionSicherung des Ergebnisses (KEIN lokales Commit!) Antwort: READY-Nachricht • fehlgeschlagene Ausführung der SubtransaktionAbbrechen der Subtransaktion (Rollback)Antwort: FAILED-Nachricht

  21. 2PC – 2.Phase • Alle Nachrichten sind beim Koordinator eingetroffen: • Alle Nachrichten lauten READYDer Koordinator sendet an alle Agenten gleichzeitig eine COMMIT-Nachricht • Mindestens eine Nachricht lautet FAILEDDer Koordinator sendet an alle Agenten gleichzeitig eine ABORT-Nachricht • Verarbeitung des COMMIT / ABORT auf lokaler Ebene.Antwort: ACK

  22. ABORT Work PREPARE FAILED Done ACK ACK READY Done ABORT Work PREPARE Eine gescheiterte verteilte Transaktion im 2PC BeginTA Doing Done Rollback BeginTA BeginTA Doing BeginTA Doing Done TM1 BeginTA Doing BeginTA Doing Done BeginTA Doing Done Rollback BeginTA Koordinator READY BeginTA Doing Done BeginTA BeginTA Doing Done Rollback BeginTA Doing TM2

  23. Tagesordnung • Grundlagen • Transaktionen • Grundbegriffe • Concurrency Control • Probleme • Sperrprotokolle • Transaktionen in verteilten Systemen • verteilte Transaktionssysteme • Das 2-Phasen-Commit-Protokoll • Produkte • Datenbanksysteme unter Linux Fragen ?

  24. Datenbanksysteme unter Linux • Adabas D • Ovrimos • mySQL • Ovrimos • Sybase Adaptive Server Enterprise • SynchroNet • Sonstige

  25. Adabas D Hersteller : SAG Systemhaus aktuelle Version: 11.01 Verfügbarkeit / Kosten : S.u.S.e / unbekannt Features: • verteiltes DBS • Hohe Verfügbarkeit • 7 x 24h-Betrieb • Spiegelplattenbetrieb • Interfaces • JDBC (Version 1.2) • ODBC • WebDB • Internet und Intranetintegration • virtuelles File-System • dynamisches HTML • SQL • ANSI-92, ADABAS, ORACLE

  26. DBMaker Hersteller : CaseMaker Inc. aktuelle Version: ? Verfügbarkeit / Kosten : ? Features: • Portierbar • Skalierbar • Robust • Recovery • Auto-Backup • Konsistenzprüfung • Multimedia Unterstützung • Interfaces • ODBC 2.1 • SQL • ANSI-92 • verteiltes DBS ?

  27. mySQL Hersteller : T.c.X. aktuelle Version: 3.22 (?); 3.23alpha Verfügbarkeit / Kosten : ? Features: • viel Literatur • Referenzliste • Interfaces • ODBC 2.5 (Win95) • MS Access • SQL-Standard (?) • verteiltes DBS ? • verwaltet große Datenmengen • Probleme • Linux ThreadsGamma • Locking (Linux)Gamma

  28. Ovrimos Hersteller : Ovrimos S.A. aktuelle Version: 2.6 Verfügbarkeit / Kosten : s.o. / $79 - $20.000 Features: • Nested Transactions • BLOB • Web • HTTP-persistente Sessions ohne Cookies • dynam. Content durch SchemeScripting (Interpreter in Ovrimos • Interfaces • JDBC (Version 1.1) • ODBC (2.0) • SQL • ANSI (92 ?) Entry-Level

  29. Sybase Adabtive Server Enterprise Hersteller : Sybase Inc. aktuelle Version: 11.9.2 Verfügbarkeit / Kosten : ? Features: • verteiltes DBS • Skalierbar • Replikation read-write bidirektional • Sybase • DB2 • Oracle • Queryoptimierung • Interfaces • ODBC (?) • SQL • ANSI-89 • ANSI-92 (Entry)

  30. SynchroNet Hersteller : Solid Information Technology aktuelle Version: 2.0 Verfügbarkeit / Kosten : ? Features: • verteiltes DBS • Einbindung von Geschäftsprozessen in Transaktionen • Portable Anwendungs-entwicklung • Interfaces • JDBC (Version 2) • Native ODBC (3.51) • SQL • ANSI-92 Entry-Level

  31. Sonstige Linuxdatenbanken • GNU SQL-Server (OS) • akt. Version 0.7b (Sept. 1998) • Informix • keine nennenswerten Internetinfos • Infoflex • Informix-Derivat • Kosten : $995 – $20.000 • InterBase (Borland / OS) • PostgreSQL (OS) • Objektrelational

  32. Sonstige Linuxdatenbanken (2) • Berkley DB Data Store (Sleepy Cat Software) • drei Ausbaustufen • dritte Stufe beinhaltet (möglicherweise)verteiltes DBS • Yard • Single Server • ODBC, JDBC • Lizenzschema ungünstig

  33. Sonstige Linuxdatenbanken (3) • DB2 • verteilt • objektrelational • ODBC, JDBC • hochverfügbar, skalierbar • Oracle 8i • verteilt • hochverfügbar • clusterskalierbar • integrierte Java VM • objektrelational

  34. Zusammenfassung • Eine Transaktion ist eine Menge von Operationen, welche die ACID-Eigenschaften erfüllt. • In einem Sperrprotokoll wird der Ablauf der Sperrvergabe und –freigabe geregelt • verteilte Transaktionen benötigen zusätzlichen Kommunkationsaufwand vor Ihrer Beendigung (2PC)

  35. Quellen (1) • Bücher • Vossen G. / Groß-Hardt M. : Grundlagen der Transaktionsverarbeitung ,Bonn,Paris: Addison-Wesley, 1993 • Rahm Erhard : Mehrrechner-Datenbanksysteme ,Bonn,Paris: Addison-Wesley, 1994 • Leymann, F. / Roller, D. :Production Workflow, Concepts and TechniquesUpper Saddle River: Prentice-Hall, 2000

  36. Quellen (2) • Links • http://www.adabas.com/sqlindex.html (Adabas D) • http://www.softwareag.com/adabas/ (Adabas) • http://www.dbmaker.com/prodinfo/index.html (DBMaker) • http://www.mysql.com/ (mySQL) • http://www.ovrimos.com/ (Ovrimos) • http://www.sybase.com/products/databaseservers/linux/index.htmlSynchroNet (Sybase Adaptive Server Enterprise) • http://www.solidtech.com/products/synchronet.html (SynchroNet)

  37. Quellen (3) • Links (Fortsetzung) • http://www.ispras.ru/~kml/gss/ (GNU SQL-Server) • http://www.postgresql.org (PostgreSQL) • http://www.sleepcat.com (Berkley DB Data Store) • http://www.interbase.com (Interbase) • http://www.infoflex.com/sqlinfo.htm (Infoflex) • http://www.yard.de (YARD) • http://www-4.ibm.com/software/data/db2/ (DB2 UDB) • http://platforms.oracle.com/linux/ (Oracle 8i)

  38. Quellen (4) • Vorlesungen • Prof. Freytag Ph.D., J.C. :Grundlagen con Datenbanksystemen,HU-Berlin

More Related