2 DATENBANKSYSTEME AUS DER SICHT DER ANWENDUNG 2.1 DATENBANK- UND TRANSAKTIONSSYSTEME ❏ Motivation ❏ Was macht Datenbank- und TA-Verarbeitung so schwer? • Behauptung: um systemtechnische Vorgänge verstehen zu können, ist deren Notwendigkeit aus Sicht der Anwendung aufzuzeigen • Antwort: die “-ities” .... • • Beschränkung auf drei Bereiche system should rarely fail • system must be up all the time • within 1-2 seconds thousands of transactions/second • Relationenmodell • • Anfragesprache SQL • start small, ramp up to Internet-scale • Transaktionen • for confidentiality and high finance ❏ Ziel eines Datenbanksystems • Repräsentation von Informationen der Anwendungswelt (“Miniwelt”) • for above requirements + low cost • no partial results • a transaction is a legal contract • of users and data ❏ Was macht Datenbank- und TA-Verarbeitung so wichtig? ❏ Datenbanksysteme in der Internet-Welt • Unterschiedliche Architekturen Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2: Datenbanksysteme aus der Sicht der Anwendung 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 30 Auslagerung der Transaktionsfunktionalität aus einem DBS • Kern des eCommerce • Vielzahl mittlerer und großer Betriebe sind darauf angewiesen • Großer Markt (über $50Milliarden pro Jahr) Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 31 Konzept eines Applikations-Servers ❏ Prinzipielle Vorgehensweise ❏ Applikations-Server ❏ Aufgaben eines einfachen Kontrollfluss • Umsetzen eines Ein-/Ausgabeformates (FORM/MENU/...) in eine standardisierte Form • Weiterleiten der Anforderung gemäß ihres Typs an den entsprechenden Server • Anwendung startet eine neue Transaktion beim lokalen Transaktionsmanger • Start einer Transaktion Resource Manager beteiligt sich an einer Transaktionsdurchführung, sobald die Anwendung auf die Resource zurückgreift • Ausführung des entsprechenden Anwendungsprogrammes • • Beenden der Transaktion, Formatieren und Zurücksenden des Ergebnisses • Transaktionmanager leitet den Wunsch auf Transaktionsende an die beteiligten Resource Manager weiter • Resource Manager führen lokale Commit/Abort-Behandlung durch und melden Vollzug an den Transaktionsmanager Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 32 Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 33 Architektur eines Applikations-Servers Komponenten eines Applikation-Servers ❏ :HE%URZVHU KWWS 1 6 Web Server • intelligentes Gerät mit Eingabefeldern, Menüs, Inputvalidierung, ... • mobiles Gerät mit reduzierten Fähigkeiten ❏ 5 2 RWKHU73 V\VWHPV Workflow Controller LQWUDQHW 3 4 Transaction Server 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg • ruft Start, Commit, und Abort an einem Transaktionsmanager auf • realisiert Anwendungslogik, die Anforderungen in Aufruf an Basisobjekte umsetzt (-> Implementierung der ’Business Rules’) • Verwaltung der business objects (Kunden, Sparbücher, Zertifikate, Depots, ...) • sorgt für logisch konsistenten Zustand der Datenbasis ❏ ❏ DBMS Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme übernimmt alle ’Front-End’-Arbeit, wie Sicherheit, Data Caching, .... aktiviert die Verarbeitung von Web-Seiten, die mit den entsprechenden URL assoziiert sind; in Abhängigkeit von der Dateiendung wird der Workflow Controller aufgerufen ❏ Transaction Server DBMS • • 34 Architektur eines Applikations-Servers (2) 2002 Lehner, Hinneburg Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme Martin-Luther Universität Halle-Wittenberg 35 Architektur eines Applikations-Servers (3) ❏ Erweiterung ❏ Erweiterung • Anforderungen können auch von anderen Rechnern kommen :HE%URZVHU KWWS Web Server 1 KWWS 6 2 4 2WKHU ,QWHUQHW 6LWHV :HE%URZVHU KWWS 1 Web Server 2 Queues RWKHU73 V\VWHPV 3 Workflow Controller LQWUDQHW 4 Transaction Server Transaction Server DBMS DBMS Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme • wird oftmals mit ’legacy applications’ verwendet, die nur im Stapelbetrieb verarbeiten können. 5 Workflow Controller LQWUDQHW 3 • Asynchronoue Anforderungen können für eine spätere Weiterverarbeitung in ein persistentes Warteschlangensystem eingereiht werden 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 36 5 RWKHU73 V\VWHPV Transaction Server Transaction Server DBMS DBMS Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 37 Architektur eines Applikations-Servers (4) Applikation-Server Funktionen ❏ Erweiterung ❏ “Glue and veneer” für TP-Anwendungen • Einige Transaktionen reihen selbst Nachrichten in Queues ein oder schicken Anforderungen an andere (internet oder intranet) Systeme. :HE%URZVHU KWWS 1 Web Server 8 2 Queues WS KW 7 6 Workflow Controller LQWUDQHW 4 3 5 Transaction Server ❏ 2WKHU ,QWHUQHW 6LWHV (Workflow-Controler und Transactionsmanager) RWKHU73 V\VWHPV Betriebssystemfunktionalität: Threading und Interprocess-Kommunikation, oftmals direkt von den unterliegenden OS verwendet • Funktionen für verteilte Verarbeitung: Transaktionen, Sicherheit, Queuing, Name Service, … • Portal-Funktionalität: Shopping cart, catalog management, personalization, … ❏ (OS und DBMS werden auf einer TP-Skala gemessen) Transaction Server DBMS Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme • Fehlererkennung und -reparatur • Security • Performance Monitoring und Tuning (“load balancing”) DBMS 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 38 Application Server Products Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 39 2.2 WIEDERHOLUNG RELATIONALE DATENBANKSYSTEME ❏ Logische Datenstrukturen für deskriptiven Zugriff • BEA Tuxedo • BEA Weblogic • Bluestone Sapphire/Web • ColdFusion • Compaq (Tandem) Pathway • Compaq (DEC) ACMS • IBM CICS • IBM IMS/DC • IBM Websphere • Iona iPortal App Server • iPlanet (Sun/Netscape) • Microsoft COM+ (formerly MS Transaction Server, or MTS) • Oracle Application Server • SilverStream • WebObjects • And many others. See serverwatch.internet.com Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.1: Datenbank- und Transaktionssysteme • • bekannteste und in heutigen DBS am weitesten verbreitete Datenmodell 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 40 • besteht aus einer Anzahl von Relationen • besteht aus einer Menge von Tupeln • ist eine Aneinanderreihung atomarer Attributwerte • Beispiel: (“Wolfgang”, “Lehner”, “Inf 6”) oder (“Stefan”, “Horn”, “Inf 6”) • besteht aus einem Relationennamen Beispiel: Personen • und einer Menge von Attributen Beispiel: { PNr, Vorname, Nachname, Abteilung } • .... üblicherweise notiert als: Personen(PNr, Vorname, Nachname, Abteilung) Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 41 Darstellungskonzepte im Relationenmodell Die Anfragesprache SQL ❏ Relation ❏ Typen von Datenbanksprachen Darstellung einer Menge von Gegenständen, die (in einem bestimmten Kontext) durch gleiche Merkmale beschrieben werden: Personen, Autos, Bücher, Kunden, usw. ❏ Attribut Darstellung von Merkmalen durch Werte aus einem bestimmten Wertebereich, “Spalte” einer Relation. • Tupel- oder satzorientiert • Programmierer denkt in Satzfolgen • Navigation über Zugriffspfade durch die vorhandenen Daten ❏ Tupel • findNext() • findFirst() Darstellung eines Gegenstands durch eine Reihe von Merkmalen, “Zeile” einer Relation. ❏ Primärschlüssel Teilmenge der Attribute einer Relation, die ausreicht, um die Mengeneigenschaft garantieren zu können, d.h. jede Kombination der Werte in diesen Attributen kommt in höchstens einem Tupel vor und bestimmt dadurch auch eindeutig dieses Tupel. ❏ Fremdschlüssel Mengenorientiert (typisch für Relationenmodell) • Programmierer denkt in Mengen von Sätzen mit bestimmten Eigenschaften • Zugriff erfolgt durch inhaltliche Kriterien (... alle Sätze mit der Eigenschaft ...) ❏ ZENTRAL: Teilmenge der Attribute einer Relation, deren Wertekombination einem Primärschlüsselwert in einer anderen (oder derselben) Relation entsprechen muss. • In proz. DB Sprachen wird spezifiziert, WIE das DBS etwas zu suchen hat • In deskr. DB-Sprachen wird spezifiziert, WAS das DBS zu suchen hat ❏ Referentielle Integrität Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme • 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 42 Transaktionskonzept Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 43 Charakterisierung von Transaktionen ❏ Beipiel ❏ Charakterisierung • Überweisung von DM10 von Konto 14325623 auf Konto 31232124 Variante 1 UPDATE kontos SET betrag = betrag - 10 WHERE Konto_nr = 14235623 • eine Datenbanktransaktion stellt eine logische Arbeitseinheit dar Variante 2 UPDATE kontos SET betrag = betrag + 10 WHERE Konto_nr = 31232124 • DB-Operationen sind gleichzusetzen mit SQL-Befehlen • Innerhalb einer Transaktion können logisch inkonsistente Zustände auftreten UPDATE kontos SET betrag = betrag + 10 WHERE Konto_nr = 31232124 Geld wurde vernichtet ! ❏ Der Transaktionsmanager der DB garantiert UPDATE kontos SET betrag = betrag - 10 WHERE Konto_nr = 14235623 Geld wurde erzeugt ! • Folgerung: Einzelne DB-Operationen können nicht die von der Anwendung geforderten Verarbeitungseinheiten repräsentieren • Klammerung von DB-Operationen zu gröberen Einheiten: Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 44 Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg 45 ACID-Eigenschaften ❏ • Unteilbarkeit durch Transaktionsdefinition (Begin/BOT - End/EOT) • Alles-oder-Nichts Prinzip ❏ • Eine erfolgreiche Transaktion garantiert, dass alle Konsistenzbedingungen (Integritätsbedingungen) eingehalten worden sind ❏ • Mehrere Transaktionen laufen voneinander isoliert ab und benutzen keine (inkonsistenten) Zwischenergebnisse anderer Transaktionen ❏ • Alle Ergebnisse erfolgreicher Transaktionen müssen persistent gemacht werden (worden sein) Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg Martin-Luther Universität Halle-Wittenberg 46 Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg 48 Teil 1 - Schichtenmodell eines Datenbanksystems Kapitel 2.2: Wiederholung Relationale Datenbanksysteme 2002 Lehner, Hinneburg Martin-Luther Universität Halle-Wittenberg Martin-Luther Universität Halle-Wittenberg 47 49