TransaktionsmonitoreTransaktionsmonitore
Grundlagen
04/26/23
Seite 2
Andreas Hähnel Seminar "Großrechner- aspekte"
ÜbersichtÜbersicht
1. Transaktionen & Co2. 2-Tier- / 3-Tier-Konfiguration3. Stored Procedures4. Transaktionsmonitore5. Vergleich
04/26/23
Seite 3
Andreas Hähnel Seminar "Großrechner- aspekte"
1. Transaktionen1. 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
onsistency
solationurability
04/26/23
Seite 4
Andreas Hähnel Seminar "Großrechner- aspekte"
2. Konfiguration2. Konfiguration 2-Tier 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
KlientenSQL
RDBMSNetzwerk
LAN
Präsentations- und Anwendungslogik
Datenhaltung
Server
04/26/23
Seite 5
Andreas Hähnel Seminar "Großrechner- aspekte"
2. Konfiguration2. Konfiguration 3-Tier 3-Tier• Anwendungen auf ein/mehreren Servern• Beispiel: Terminals in Bank• Weniger Datenvolumen durch
Serviceanforderungen• Zugriffskontrolle auf Servicebasis
Klienten
Anwendungs-Server
Präsentation
Anwendungs-logik
Service-Anforderungen
RDBMS
Queues
Mainframe
Datenhaltung
Daten
04/26/23
Seite 6
Andreas Hähnel Seminar "Großrechner- aspekte"
2. Konfiguration2. Konfiguration Vergleich Vergleich• Grenzen 2-Tier:
– Für einfache Transaktionen– < 200 Klienten und < 100000
TA/Tag– wenige Server– mäßige Sicherheitsanforderungen
(da auf ACL basierend)– Populär zur Anfangszeit von
Client/Server-Systemen
04/26/23
Seite 7
Andreas Hähnel Seminar "Großrechner- aspekte"
2. Konfiguration2. Konfiguration Vergleich 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
Anzahl Benutze, Kompl. u. Lebensdauer Anwendung
Kost
en, E
ntw
ickl
ung,
War
tung
2-tier
3-tier
04/26/23
Seite 8
Andreas Hähnel Seminar "Großrechner- aspekte"
3. Stored Procedures3. Stored Procedures Arbeitsweise (1) 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
04/26/23
Seite 9
Andreas Hähnel Seminar "Großrechner- aspekte"
3. Stored Procedures3. Stored Procedures Arbeitsweise (2) 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
04/26/23
Seite 10
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. 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 ...
04/26/23
Seite 11
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Arbeitsweise 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)
04/26/23
Seite 12
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Komponenten Komponenten
Präsentations-dienste
Authorisationz.B. Kerberos
RessourceManager,Je 1 pro
Anwendung
Scheduler
LockMgr. Lock DB
SQL DBSQL
z.B. Oracle, DB2
LogMgr.
Programm- bibliothek
Log DBRecoveryMgr.
commit,checkpoint,
rollback
Reposit
DurableQueues
TRID
04/26/23
Seite 13
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. 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
04/26/23
Seite 14
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Backward Recovery Backward Recovery• Rollback bei Transaktionsmonitoren• Zwischenpuffer wird genutzt• Vor Änderung Speicherung der Daten
im Puffer• Erst nach erfolgreichem Abschluß
Rücksetzung des Zwischenpuffers
04/26/23
Seite 15
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Flat Transactions 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
04/26/23
Seite 16
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Logic Unit of Logic Unit of Work(LUW)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
04/26/23
Seite 17
Andreas Hähnel Seminar "Großrechner- aspekte"
Crash
4. Transaktionsmonitore4. Transaktionsmonitore Logic Unit of Logic Unit of Work(LUW)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)
LUW LUW LUW LUW LUW
Syncpoint SyncpointSyncpointSyncpoint(Syncpoint)
BOT EOT
RollbackRollback
CrashCrash
04/26/23
Seite 18
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Two-Phase-Commit 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
04/26/23
Seite 19
Andreas Hähnel Seminar "Großrechner- aspekte"
4. Transaktionsmonitore4. Transaktionsmonitore Two-Phase-Commit Two-Phase-Commit
04/26/23
Seite 20
Andreas Hähnel Seminar "Großrechner- aspekte"
5. Vergleich5. Vergleich TM vs. Stored TM vs. Stored ProcedureProcedure• Stored Procedure benötigt pro Klient
einen Serverprozess• TP-Monitore: Anzahl der
Serverprozesse viel geringer• Hohes Verkehrsaufkommen, kurze
Antwortzeiten, hohe Verfügbarkeit
04/26/23
Seite 21
Andreas Hähnel Seminar "Großrechner- aspekte"
5. Vergleich5. Vergleich TM vs. Stored TM vs. Stored ProcedureProcedure• 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)
04/26/23
Seite 22
Andreas Hähnel Seminar "Großrechner- aspekte"
6. Verweise6. Verweise
• http://research.microsoft.com/~gray/WICS_99_TP/– Unterlagen eines Microsoft-Kurses zu
Transaktionsverarbeitungskonzepten
– Jim Gray/Andreas Reuters• www.tpc.org
– Benchmarks für Transaktionsverarbeitung
Top Related