Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte"...

22
Transaktionsmonitore Transaktionsmonitore Grundlagen

Transcript of Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte"...

Page 1: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

TransaktionsmonitoreTransaktionsmonitore

Grundlagen

Page 2: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 3: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 4: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 5: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 6: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 7: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 8: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 9: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 10: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 11: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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)

Page 12: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 13: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 14: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 15: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 16: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 17: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 18: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 19: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

04/26/23

Seite 19

Andreas Hähnel Seminar "Großrechner- aspekte"

4. Transaktionsmonitore4. Transaktionsmonitore Two-Phase-Commit Two-Phase-Commit

Page 20: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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

Page 21: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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)

Page 22: Transaktionsmonitore Grundlagen. 28.06.2015 Seite 2 Andreas Hähnel Seminar "Großrechner- aspekte" Übersicht 1.Transaktionen & Co 2.2-Tier- / 3-Tier-Konfiguration.

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