Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Transaktionsmonitore

Ähnliche Präsentationen


Präsentation zum Thema: "Transaktionsmonitore"—  Präsentation transkript:

1 Transaktionsmonitore
Grundlagen

2 Übersicht Transaktionen & Co 2-Tier- / 3-Tier-Konfiguration
Stored Procedures Transaktionsmonitore Vergleich Andreas Hähnel Seminar "Großrechner- aspekte"

3 1. Transaktionen Transaktionen überführen Daten auf Server von definierten Zustand in einen anderen DB konsistent vor und nach Transaktion Client/Server-Systeme: Fehler möglich Später: E-Business B2B: bis zu 100 Folgetransaktionen pro von Sachbearbeiter erzeugter Transaktion A C I D tomicity Transaktion Zusammenfassung von mehreren Datei- bzw. Datenbankoperationen: entweder erfolgreich, oder Daten bleiben unverändert B2b: automatisch generierte Transaktionen zwischen versch. Systemen und Unternehmen ohne menschliches Zutun Beispiel: Reisebuchung (Hotel, Flug => essen im Flugzeug, Bus, Strandkorb, Ausflüge) Geldautomat onsistency Andreas Hähnel Seminar "Großrechner- aspekte" solation urability

4 2. Konfiguration 2-Tier Klient mit Anwendung und Präsentation
Server zur zentralen Speicherung Gemeinsamer Zugriff der Klienten SQL-Client nimmt SQL-Anweisungen entgegen, setzt diese in Datenbankaufrufe um Tier(engl. Stufe, Rang) 2-stufige Architektur Präsentation verantwortlich für Darstellung auf Bildschirm verantwortlich Auf Klient ein SQL-Client Anwendungsentwicklung z.B. häufig Visual Basic, C Klienten S Q L RDBMS Netzwerk LAN Präsentations- und Anwendungslogik Datenhaltung Server Andreas Hähnel Seminar "Großrechner- aspekte"

5 2. Konfiguration 3-Tier Anwendungen auf ein/mehreren Servern
Beispiel: Terminals in Bank Weniger Datenvolumen durch Serviceanforderungen Zugriffskontrolle auf Servicebasis Service- Anforderungen Daten Mehrere Anwendungsserver möglich, d.h. Last kann verteilt werden Kontrolle auf Servicebasis: User darf Service nutzen, hat aber keinen direkten Zugriff auf die Daten Anwendungs- Server RDBMS Andreas Hähnel Seminar "Großrechner- aspekte" Klienten Queues Mainframe Anwendungs- logik Datenhaltung Präsentation

6 2. Konfiguration Vergleich
Grenzen 2-Tier: Für einfache Transaktionen < 200 Klienten und < TA/Tag wenige Server mäßige Sicherheitsanforderungen (da auf ACL basierend) Populär zur Anfangszeit von Client/Server-Systemen ACL: Access Control List Lock auf Datensatz Ebene  Bei 3-tier wird Lock durch Anwendungsserver optimiert Andreas Hähnel Seminar "Großrechner- aspekte"

7 2. Konfiguration Vergleich
Kostengründe: (bei 2-Tier-Konf.) Datenvolumen auf Netzwerk Verteilung Klient-Software Mit zunehmender Nutzerzahl und Komplexität ist 2-Tier-Konf. schwerer zu beherrschen Mit zunehmender Nutzerzahl und Komplexität wachsen Kosten für 2-tier schneller Anwendungsverteilung: 2-tier: auf jedem Rechner installation nötig 3-tier: Java-Applet wird geladen, oder vorgegebene Bildschirmmaske, die Programm auf Server aufruft Andreas Hähnel Seminar "Großrechner- aspekte"

8 3. Stored Procedures Arbeitsweise (1)
Implementation der 2-tier-Konfiguration Eingebettete SQL-Anweisungen in Anweisung, durch exec sql eingeleitet Datenbankprozess in separatem Adressraum (falls DB auf gleichem Rechner) SQL-Aufruf hat ACID-Eigenschaften (bei DB2 oder Oracle) Bündelt SQL-Anweisungen, die sonst im Programm einzeln aufgerufen würden Exec sql mit ; beenden, damit unterscheidet Precompiler diese von anderen Anweisungen SQL-Precompiler übersetzt sql-statement, so daß C diese versteht Stored Procedure wird im Programm implementiert und innerhalb des DB-Prozesses ausgeführt... Andreas Hähnel Seminar "Großrechner- aspekte"

9 3. Stored Procedures Arbeitsweise (2)
Leistungsverhalten deutlich besser, als bei Aufruf einzelner SQL-Befehle im Quelltext SP durch Programm implementiert, im DB-Prozess ausgeführt connect dbname; a = b+c; d = e+f; exec sql call xyz ... g = h+i; xyz start_transaction { beginwork (); exec sql select ... ; exec sql insert ... ; exec sql update ... ; if no_error commit() else rollback(); } Kernel verbindet Programm und Datenbank Bei Arbeit ohne Stored Procedures werden alle sql-Anweisungen ins Programm geschrieben Auf gleichem Rechner Kernel, bei verschiedenen noch Netzwerkprotokolle SP werden Bibliothek abgespeichert und mit namen und parametern aufgerufen Nur eine SP pro Programm gleichzeitig möglich, da immer nur ein RPC erlaubt Andreas Hähnel Seminar "Großrechner- aspekte" Kernel

10 4. Transaktionsmonitore
Implementierung 3-tier-Konfiguration Transaction Processing Monitor (TP-Monitor) als Bestandteil eines TP-Systems: Message Queuing Lock-/Log-Verwaltung Two-Phase Commit-Synchronisation Laststeuerung, Rollback Produkte: IBM CICS, IBM IMS, BEA Tuxedo, Transarc Encina, Siemens UTM, Digital ACMS ... TP-System: Anwendungen Datenbanken Netzwerksteuerung Entwicklungswerkzeuge TP-Monitor Andreas Hähnel Seminar "Großrechner- aspekte"

11 4. Transaktionsmonitore Arbeitsweise
Einziger Prozeß auf Betriebssystem Auch in BS integrierbar (z.B. Guardian/Compaq, TPF/IBM) Problem: BS für Stapelverarbeitung und interaktive Time-Sharing-Sessions Benutzung von Betriebssystem-Funktionen vermeiden Erhöhung von Durchsatz und Leistung mit eigener Message- und Queue-Systeme Evtl. eigenes Dateiverwaltungssystem (z.B. bei CICS) TPF = Transaction Processing Facilities Andreas Hähnel Seminar "Großrechner- aspekte"

12 4. Transaktionsmonitore Komponenten
Authorisation z.B. Kerberos Lock Mgr. Lock DB Präsentations- dienste SQL z.B. Oracle, DB2 Durable Queues TRID Scheduler Ressource Manager, Je 1 pro Anwendung SQL DB Programm- bibliothek Recovery Mgr. commit, checkpoint, rollback Log Mgr. Nachrichten von User Interface Prozess mit TRID versehen Wird in queue gepuffert (da es crash überleben muß persistent)  Prozeß mit ACID Für Ausgabe ähnliche Schlange Queue: 3 Subtransaktionen: 1. einstellen in eingabequeue, 2. Verarbeiten und einstellen in ausgabequeue 3. Ausgabe an rechner; queue manager optimiert Kerberos: Netzwerk Authorisierungsprotokoll Ressource Manager: 1 pro Anwendung, multithreaded spez. Manager für best. Anwendung kann mehrere TA gleichzeitig verarbeiten Repository: verwaltet Benutzer-Daten und – Rechte, Screens, DB-tabellen, Anwendungen und vorherige Versionen von Anwendungen und Prozeduren (Entwicklung) Andreas Hähnel Seminar "Großrechner- aspekte" Reposit Log DB

13 4. Transaktionsmonitore
Klienten kommunizieren über Nachrichten mit TP-Monitor Bildschirmgerät (Terminal) hat User Interface-Prozess (formatiert Daten in Nachricht und umgekehrt Bildschirmwiedergabe Text (CUI) oder graphisch (GUI) Lock-Manager stellt Isolation (ACID) sicher Recovery-Manager garantiert Atomizität, Log-Manager hält Änderungen fest Andreas Hähnel Seminar "Großrechner- aspekte"

14 4. Transaktionsmonitore Backward Recovery
Rollback bei Transaktionsmonitoren Zwischenpuffer wird genutzt Vor Änderung Speicherung der Daten im Puffer Erst nach erfolgreichem Abschluß Rücksetzung des Zwischenpuffers Andreas Hähnel Seminar "Großrechner- aspekte"

15 4. Transaktionsmonitore Flat Transactions
Einfachste Form der Transaktion Flach, da alles innerhalb beginwork() und commit() auf einer Ebene Organisiert atomare Aktionen in Anwendung Schachtelung von Transaktionen unmöglich größtes Manko: muss immer gesamte Transaktion zurücksetzen Andreas Hähnel Seminar "Großrechner- aspekte"

16 4. Transaktionsmonitore Logic Unit of Work(LUW)
Geschützte / ungeschützte Aktionen Bsp. Ungeschützt: Physikalisch die Umwelt beeinflussende Aktionen Rakete abschießen, Loch bohren  ACID unmöglich, Rollback unmöglich Für geschützte Aktionen ACID möglich, d.h. sie sind können zurückgesetzt werden Geschützte Aktionen sind LUWs Andreas Hähnel Seminar "Großrechner- aspekte"

17 4. Transaktionsmonitore Logic Unit of Work(LUW)
Syncpoints zur Aufteilung lange laufender Transaktionen in LUWs Bei Rollback zurücksetzen nur bis Syncpoint Beispiel: Zinsabrechnung bei einer Bank (hohe Ausführungszeit) Rollback Crash Crash Crash Rollback Andreas Hähnel Seminar "Großrechner- aspekte" BOT EOT LUW Syncpoint (Syncpoint)

18 4. Transaktionsmonitore Two-Phase-Commit
Transaktionen auf verschiedenen Servern, unterschiedliche DBMS Unterteilung in Master und Slaves Two-Phase Commit-Protokoll soll ACID der Haupttransaktion sicherstellen Ablauf: Haupttransaktion verteilt Aufgaben an Slaves Falls alle Slaves erfolgreich abschließen, gibt Master „commit“, sonst „rollback“ Slaves geben Daten frei und senden ackknowledgement Transaktion abgeschlossen Andreas Hähnel Seminar "Großrechner- aspekte"

19 4. Transaktionsmonitore Two-Phase-Commit
Andreas Hähnel Seminar "Großrechner- aspekte"

20 5. Vergleich TM vs. Stored Procedure
Stored Procedure benötigt pro Klient einen Serverprozess TP-Monitore: Anzahl der Serverprozesse viel geringer Hohes Verkehrsaufkommen, kurze Antwortzeiten, hohe Verfügbarkeit Andreas Hähnel Seminar "Großrechner- aspekte"

21 5. Vergleich TM vs. Stored Procedure
Two-Phase Commit ermöglicht Zusammenarbeit mehrerer TP-Monitore Einsatz in heterogenen Datenbanken Leistung: fast alle TP-Benchmarks werden mit TP-Monitoren durchgeführt Aber: teurer in Anschaffung (Server/Software) Andreas Hähnel Seminar "Großrechner- aspekte"

22 6. Verweise Unterlagen eines Microsoft-Kurses zu Transaktionsverarbeitungskonzepten Jim Gray/Andreas Reuters Benchmarks für Transaktionsverarbeitung Andreas Hähnel Seminar "Großrechner- aspekte"


Herunterladen ppt "Transaktionsmonitore"

Ähnliche Präsentationen


Google-Anzeigen