Auslagerung der Transaktionsfunktionalität aus

Werbung
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
Herunterladen