Transaktionsmonitore

Slides:



Advertisements
Ähnliche Präsentationen
Architektur eines Human-Task-Service
Advertisements

Kapitel 15 Verteilte Datenbanken
Jahre WorldWideWeb 13 Jahre Web-Anwendungen mit allegro.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Leistung.
Wiederholung Betriebssystem bietet eine Abstraktion der Hardware an:
1 Was ist ein klassischer Prozess? A eine exe-Datei B log. Adressraum, Ablaufumgebung für genau einen Thread C log. Adressraum, Ablaufumgebung für eine.
2. DB-API: Programmierschnittstellen zu Datenbanken
Transaktionsverwaltung
PC-Cluster.
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
Anwendungsverteilung und räumliche Ausdehnung
FH-Hof DBS II: Übersicht über die Vorlesung Richard Göbel.
Gottfried Vossen 5. Auflage 2008 Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme Kapitel 22: Grundlagen der Crash Recovery.
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Transaktionen in verteilten Datenbanken
Transaktionsmonitore Teil IV Überblick über Produkte neben CICS.
Access 2000 Datenbanken.
Datenbanksysteme für FÜ SS 2000 Seite Worzyk FH Anhalt Transaktionen und Parallelverarbeitung Eigenschaften von Transaktionen Konsistenz Isolation.
1 Kapitel 12: Transaktionsverwaltung Oliver Vornberger Fachbereich Mathematik/Informatik Universität Osnabrück Osnabrück
1 Kapitel 12: Transaktionsverwaltung. 2 Transaktion Bündelung mehrerer Datenbankoperationen Mehrbenutzersynchronisation Recovery.
15.1 Synchronisation nebenläufiger Prozesse
Erhard Künzel für Info 9. Klasse: Digitale Schule Bayern© Erhard Künzel.
Recovery AIFB SS Recovery 5.1 Fehler im Datenbankbetrieb(1/10) (1)Transaktionsfehler (TF) (2)Systemfehler (SF) (3)Speicherfehler (SpF) Fehlerfallen.
ausdrucksschwächeres
Ausführungsmodell Zustandsübergang einer Transaktion aus Nutzersicht:
Synchronisation paralleler Transaktionen AIFB SS Konzept der Transaktion 4.2 Konzept der Transaktion (1/4) Eine Transaktion ist ein in sich geschlossener,
Betriebliche Informationssysteme Prof. Dr. Michael Löwe
Rechnernetze und verteilte Systeme (BSRvS II)
Host Einführung Norbert Graß (CCI). Host-Einführung HostEinführung.ppt Norbert Graß/ Ein Gerücht Der Mainframe-Kult ist tot! Werbekampagne.
JDBC: JAVA Database Connectivity
IBM Workplace Forms - In Kürze © 2007 IBM Corporation XML basierte elektronische Formulare: Effizienzsteigerung und Kostenreduktion durch Automatisierung.
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Entwicklung verteilter eingebetteter Systeme - Einführung
MYSQL Von Rahan Bölzer.
WS 2012/13 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #11 Transaktionsverwaltung.
WS 2011/12 Datenbanksysteme Mi 15:15 – 16:45 R Vorlesung #10 Transaktionsverwaltung.
WS 2004/2005 Datenbanken II - 5W Mi 17:00 – 18:30 G 3.18 Vorlesung #7 Mehrbenutzersynchronisation (Teil 1)
Allgemeines zu Datenbanken
Präsentation von Lukas Sulzer
Vorlesung #12 Mehrbenutzersynchronisation
Lernfeld - Thema Datenbanksystem
Datenbankanbindung in Web-Applikationen
ADAT©2004,2006 Dipl. - Ing. Walter SabinSeite: 48 Version 1.0a Recovery Wiederherstellung eines konsistenten Datenbankzustandes nach Fehlersituationen.
Lokales 2-Phasen-Festschreibe- Protokoll Segment-Verwalter führt commit(T i ) in zwei Phasen aus: Phase 1: Sicherstellung der Wiederholbarkeit. –Für jedes.
Transaktionen Dr. Heidrun Bethge Datenbanken II.
Transaktionsverwaltung
Datenbanken im Web 1.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Schichtenmodell Anwendungsprogramm Instanz- prozesse Datenbank System- puffer.
Vs Verteilte Transaktionen Situation:Fragmentierung: Ein Datenbestand ist über mehrere Stationen verteilt (z.B. verteilte Datenbank, verteiltes Dateisystem,...)
6.3 Verteilte Transaktionen
Trigger-abhängige Client Interaktionen (bezüglich Oracle8i)
Transaktionsverwaltung Beispiel einer typischen Transaktion in einer Bankanwendung: 1.Lese den Kontostand von A in die Variable a: read(A,a); 2.Reduziere.
J2EE-Motivation(I) Anforderungen an heutige Software u.a.:
JDBC1 Motivation(I) JDBC keine Abkürzung, sondern geschützter Name (inoffiziell: für Java Database Connectivity) unterschiedliche DBS haben unterschiedliche.
Seminar: Großrechneraspekte (Mainframes) Transaktionsmonitore Teil 3 CICS - Spezialitäten.
EJB Architektur für große Web - Applikationen Gerald Weber
Seminar zur Administration von Datenbankmanagementsystemen 8. 6
1 Prof. Dr. Andreas SchmietendorfWS06/07 Übung 3 Test der Möglichkeiten des JDBC-Interfaces.
Transaktionsmonitore II Beispiel CICS Christoph Salomon DB-Seminar 2003: Großrechneraspekte / Mainframes.
ANMATHO AG IT-Dienstleistungen und Produkte Stefan DohnCert-IT Präsentation S.1 Cert-IT Präsentation Database Administrator Aufbau eines Sun Cluster.
Dirk Schuirmann W+M AG Theorie in der Praxis 1. CPGJDBC Schreiben aus dem CICS Lesen aus dem Batch 2. Programmdokumentation 3. Preismodell bei CA.
Webservices SOAP und REST Nicole Fronhofs 1. Betreuer: Prof. Dr. Volker Sander 2. Betreuer: B. Sc. Sebastian Olscher.
6.3 Verteilte Transaktionen
MySQL – Die freie Datenbank
Transaktionsabbruch, System Crash, Media Failure
Vorlesung #7 Fehlerbehandlung
Vorlesung #7 Fehlerbehandlung
Vorlesung #10 Fehlerbehandlung
Datenbanken online sowie offline verfügbar machen
 Präsentation transkript:

Transaktionsmonitore Grundlagen

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

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 17.04.2017 urability

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" 17.04.2017

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 17.04.2017 Anwendungs- logik Datenhaltung Präsentation

2. Konfiguration 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 ACL: Access Control List Lock auf Datensatz Ebene  Bei 3-tier wird Lock durch Anwendungsserver optimiert Andreas Hähnel Seminar "Großrechner- aspekte" 17.04.2017

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" 17.04.2017

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" 17.04.2017

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 17.04.2017

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" 17.04.2017

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" 17.04.2017

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 17.04.2017

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" 17.04.2017

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" 17.04.2017

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" 17.04.2017

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

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) 17.04.2017

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" 17.04.2017

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

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" 17.04.2017

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" 17.04.2017

6. 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 Andreas Hähnel Seminar "Großrechner- aspekte" 17.04.2017