1. Einführung, Problemstellung und
Überblick
1.1 Einführung
r
60er/70er Jahre: Zunehmender Übergang von Datei- zu
Datenbank-Systemen
Gründe:
r
m
erhöhte Datenunabhängigkeit der Anwendungsprogramme
m
transaktionsorientierte Verarbeitung
m
Mehrbenutzerbetrieb
m
Recovery-Funktionen (Crash-Recovery, Media-Recovery, ...)
Hardware war teure, knappe Ressource
Folge:
m
Effiziente Nutzung der teuren Hardware-Ressourcen
⇒ "Rechenzentrum"
m
Änderung der Betriebsorganisation (dezentral ⇒ zentral)
m
Zentralisierung der Anwendungen (⇒ Stapel-Verarbeitung)
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-1
r
Kleine Adreßräume, limitierende Software
Folge:
m
Verteilung von logisch zusammengehörenden Datenbeständen
auf verschiedene Datenbanken
m
Problem der Konsistenthaltung der Daten
m
"Lösung": Vorgeplante Job-Ablauf-Reihenfolgen der Batch-Jobs
im Rechenzentrum
⇒ mächtige Job-Control-Sprachen der "Produktions"Betriebssysteme (IBM/MVS, Siemens/BS2000, ...)
⇒ eigene Job-Verwaltungsprogramme zur Ablaufautomatisierung
r
80er/90er Jahre:
⇒ Hardware wird zunehmend kostengünstiger
⇒ Zunehmender Übergang zu "Online"-Anwendungen
Folge:
m
"Online"-Update erforderlich
m
"Datenintegration via Job-Control-Sprache" versagt
⇒ Zusammenführung von bislang getrennten
Anwendungen und Datenbeständen
⇒ Realisierung "integrierter", verteilter Informationssysteme
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-2
r
Informationsverarbeitung direkt "vor Ort" war vor
Einführung der Rechenzentren der Normalfall
r
Heute wieder Trend zu autonomeren Betriebseinheiten
("lean management", "profit center", ...)
m
Dezentralisierungstendenz der Datenverarbeitung
m
Aufsplittung von "überintegrierten" Informationssystemen
⇒ Zentrale ⇒ verteilte Informationssysteme
r
Aktuelle Trends
m
"Downsizing" (⇒ Dezentralisierung)
m
Parallelverarbeitung (⇒ Mehrrechner-DBMS)
m
Firmenübergreifende Rechnerverbunde
⇒ Integration / Kooperation von Inform.-Systemen
r
Regelfall für verteilte Informationssysteme:
m
Große Vielfalt an möglichen Realisierungsformen
m
Dadurch auch unterschiedliche Problemstellungen im Detail
m
Aber: Gemeinsame grundsätzliche Probleme
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-3
1.2 Allgemeine Problemstellungen
1.2.1 Problemstellung bei Dezentralisierung
r
Ausgangssituation:
m
Zentralisiertes Informationssystem
m
Anwendungsprogramme setzen auf vorgegebenen
Programmschnittstellen auf
Beispiel 1:
Informationssystem = relationales DB-System
Programmschnittstellen =
m
r
1. SQL-API
2. Schema der SQL-Datenbank
Änderung der Programmschnittstellen würde Änderungen der
Anwendungsprogramme (im Source-Code!) nach sich ziehen
Vorgabe (oft):
Die Daten(bank) so auf mehrere Rechner verteilen, daß
m
das "Single-System-Image" erhalten bleibt
⇒ Reduzierung/Vermeidung von Portierungsaufwand
⇒ Ziel: "Orts-Unabhängigkeit" der Anwendungsprogramme
m
die Konsistenz der Daten weiterhin gewährleistet bleibt
m
der Gesamtdurchsatz verbessert wird
m
die Verfügbarkeit gesteigert wird
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-4
1.2.2 Problemstellung bei Integration
r
Ausgangssituation:
m
Existierende, bislang (mehr oder weniger) autonome
Informationssysteme
m
Meist heterogen
m
r
n
gleiches Datenmodell, aber von verschiedenen DBMSHerstellern (⇒ z.B. verschiedene SQL-Dialekte)
n
gleiches Datenmodell, aber Daten anders strukturiert und/oder
Datentypen mit unterschiedlicher Semantik
n
verschiedene Datenmodelle (IMS, CODASYL, relational,
dateibasiert, ...)
Existierende Anwendungsprogramme für die jeweiligen lokalen
Systeme
Vorgabe (oft):
Die verschiedenen Daten(banken) so integrieren, daß
m
ein "Single-System-Image" für neue Anwendungen entsteht
⇒ Orts- + Datenmodell-Unabhängigkeit der Anw.-Programme
m
die Konsistenz der Daten verbessert wird
m
die vorher vorhandene (lokale) Performance nicht wesentlich
verschlechtert wird
m
die Verfügbarkeit der lokalen Systeme nicht wesentlich
beeinträchtigt wird
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-5
1.3 Formen und Problemstellungen von
verteilten Informationssystemen
1.3.1 Räumliche Aspekte
r
Geographisch verteilte Informationssysteme
m
Rechner (Knoten) physisch weit von einander entfernt
m
Kommunikation über (i.a. relativ langsame) Weitverkehrsnetze
m
Ständige Verfügbarkeit nicht immer gesichert, störanfällig
m
Wichtige Faktoren:
n
Anzahl und Umfang der auszutauschenden Nachrichten
(⇒ Performance / Kosten)
n
I.d.R. wird ein hoher Grad an lokaler Autonomie angestrebt
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-6
DB-6
DB-3
DB-4
DB-2
DB-5
DB-1
Abb. 1-1: Beispiel für geographisch verteiltes Inf.-System
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-7
r
Lokal verteilte Informationssysteme
m
Knoten durch schnelles lokales Netz (LAN) verbunden
m
Hoher Grad an Verfügbarkeit des Netzes
m
Wichtige Entscheidungsgrößen (oft):
m
n
Ausfallsicherheit (⇒ redundante Speicherung)
n
Durchsatzverbesserung durch Parallelisierung von Anfragen bzw.
Bearbeitungsvorgängen
Spezielle Variante: Mehrrechner-DBMS (
Einkaufsabteilung
später)
Produktions-Planung
DBMS
DBMS
Buchhaltung
DBMS
DBMS
Verkaufsabteilung
Abb. 1-2: Beispiel für lokal verteiltes Informationssystem
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-8
1.3.2 Mittels verteiltem DBMS und konventionell
realisierte verteilte Informationssysteme
r
Konventionell realisierte verteilte Informationssysteme
m
Verteilung in den Anwendungsprogrammen realisiert
m
D.h. Anwendungsprogramme "sehen" die Verteilung
m
Direkte Kommunikation zwischen Anwendungsprogrammen
m
Operationen und Datenaustauschformate müssen "bilateral"
vereinbart werden
m
I.d.R. kein direkter Zugriff auf die gespeicherten Daten des
anderen Anwendungsprogramms
m
Programmtechnische Realisierung über (peer-to-peer) ProgramTo-Program-Communication oder Remote-Procedure-Call 1
m
Behandlung von Fehlerfällen i.d.R. vollständig in der
Verantwortung des Anwendungsprogrammierers
1 A. Schill: Remote Procedure Call: Fortgeschrittene Konzepte und Systeme - ein Überblick.
Informatik-Spektrum, Band 15, 1992, Teil 1: Grundlagen, Heft 2, April 1992, S. 79-87, Teil 2:
Erweiterte RPC-Ansätze, Heft 3, Juni 1992, S. 145-155
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-9
r
r
Realisierung mittels verteiltem DBMS
m
Verteilung durch DBMS realisiert
m
Verteilung der Daten für Anwendungsprogramm(ierer) nicht
sichtbar
m
Anwendungsprogramme "kommunizieren" über gemeinsame
Datenbankobjekte
Im Vergleich:
Kommunikation
AP1
AP2
AP1
AP2
Kommunikation
DB1
DB2
DB 2
DB1
verteiltes
DBMS
Konventionell realisiertes
verteiltes Informationssystem
Realisierung mittels
verteiltem DBMS
Abb. 1-3: Realisierungsformen verteilter Informationssysteme
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-10
1.3.3 Realisierungsformen verteilter DBMS:
Gemeinsamkeiten und Unterschiede
Lokales
DBMS
globale
Komp.
globale
Komp.
Lokales
DBMS
KommunikationsNetz
Verteiltes
DBMS
globale
Komponente
Lokales
DBMS
Abb. 1-4: Grobarchitektur eines verteilten DBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-11
r
r
Gemeinsamkeiten der verschiedenen Realisierungsformen:
m
Daten physisch auf mehrere Rechner (Knoten) verteilt
m
Lokale Bearbeitung von Anfragen / Teilanfragen durch lokale
DBMS-Komponenten
m
Globales Transaktionskonzept
m
Logische Sicht als eine Datenbank
m
Benutzer / Anwendungsprogramm braucht Verteilung nicht zu
kennen (⇒ Verteilungstransparenz)
Unterschiede bei den verschiedenen Realisierungsformen:
m
Logische Sicht als eine Datenbank zum Teil aufgeweicht bzw.
ganz aufgegeben (Beispiel: Multi-Datenbanken; siehe später)
m
damit dann auch Verteilungstransparenz nicht mehr gegeben
m
Globales Transaktionskonzept z.T. mit starken Einschränkungen
(z.B. nur Read-Only-Transaktionen)
m
Allgemein: Verschiedene Grade und Formen an Autonomie der
lokalen DBMSe
n
(Schema-)Entwurfs-Autonomie
n
(Schema-)Änderungs-Autonomie
n
Ausführungs-Autonomie
n
...
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-12
1.3.3.1 Homogene, eng integrierte verteilte DBMS
r
Verteiltes DBMS tritt nach außen als ein (geschlossenes)
DBMS auf
m
ein (globales) Schema
m
alle lokalen Schemata werden vollständig in das globale
Schema integriert
m
Transaktionskonzept wie im lokalen Fall
r
Globales Schema i.w. einfache Vereinigung (union) der lokalen
Schemata (keine Schema-Transformation erforderlich)
r
Lokale DBMS nicht autonom, über vDBMS gesteuert
r
Anwendungsprogramme greifen nur auf das globale Schema
zu
AP1
Teile
Teile1
Pers1
Inv1
(lokales) Schema L-DB 1
AP2
Pers
Teile2
AP3
...
Inv
Pers2
(lokales) Schema L-DB2
Lief
APn
globales Schema der
verteilten Datenbank
Teile3
Inv 3
Lief
(lokales) Schema L-DB 3
Abb. 1-5: Homogene, eng integrierte DBS (Schema-Integration)
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-13
r
Technologisch am besten fundiert
(⇒ relativ solide Theoriebasis; siehe später)
r
Kommerziell verfügbare Systeme 2
r
Einsatzgebiete:
m
Hochleistungssysteme (⇒ Parallelverarbeitung)
m
Fehlertolerante Systems (z.B. Non-Stop-SQL von Tandem)
m
Dezentralisierung von zentralen DB-Anwendungen
(⇒ "Downsizing")
2 Funktionell allerdings oft mit erheblichen Einschränkungen
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-14
1.3.3.2 Föderierte, verteilte DBMS
r
Unterscheidung zwischem globalem DB-Zugang und lokalem
DB-Zugang
m
existierende, lokale Anwendungen greifen über die vorhandene
lokale DBMS-Schnittstelle zu
m
knotenübergreifende ("verteilte") Anwendungen benutzen das
globale Schema des verteilten DBMS
m
In der Regel heterogene lokale Systeme
n
n
ggf. Datenmodell-Transformationen erforderlich
l
z.B. CODASYL → relational
l
z.B. IMS → relational
l
{relational, CODASYL, IMS, ..} → EER-Datenmodell
i.d.R. Schema-Transformationen erforderlich
l
semantisch äquivalente Information in den lokalen DBMSen
strukturell verschieden dargestellt
l
Domain-Transformationen für Attributwerte
r
Lokale Schemata werden i.d.R. nicht vollständig ins globale
Schema eingebracht
r
Lokale Autonomie wird nur teilweise aufgegeben
m
ggf. weiterhin lokale Anwendungen (basierend auf lokaler DBSchnittstelle)
m
ggf. Einschränkung der globalen Funktionalität (z.B. auf ReadOnly-Zugriff)
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-15
r
Kommerzielle Produkte zum Teil verfügbar
⇒ "Gateway"-Zusätze zu relationalen DBMS
r
Aktuelles Forschungsgebiet
⇒ insbesondere rechnerunterstützte Schema-Integration
r
Schema-Architektur:
GAP1
Teile
AP 11
Teile1
AP 12
Pers1
AP13
GAP2
Pers
AP21
Inv1
(lokales) Schema L-DB1
...
GAP3
Inv
AP22
Teile2
GAPn
globales Schema
der föderierten
verteilten Datenbank
AP23
Pers2
(lokales) Schema L-DB2
globale Anwendungen
AP31
Teile3
Inv3
AP32
Lief
(lokales) Schema L-DB3
= nur lokal vorhanden / zugreifbar
Abb. 1-6: Föderierte, verteilte Datenbank (Schema-Integration)
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-16
1.3.3.3 Offene Multi-Datenbanksysteme
r
r
r
Zugriff auf "fremde" Datenbanken
m
Hotelreservierungssysteme
m
Flugreservierungssysteme
m
Literatur-Datenbanken
m
...
Praktisch sehr relevantes Problem
m
Realisierung von Auskunftssystemen
m
z.B. bei Firmenzusammenschlüssen
m
Rechnerverbund von Abnehmer und Lieferant
m
...
Hoher (bzw. vollständiger) Grad an lokaler Autonomie
m
hinsichtlich Schema-Entwurf, Schema-Änderungen
m
hinsichtlich Prioritätsvergabe bei Transaktionsausführung
m
...
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-17
r
Geringe (oder keine) Kooperation der beteiligten Systeme
(außer Transaktionsausführung)
m
"black-box"-Systeme
m
i.d.R. z.B. kein two-phase-commit (siehe später)
m
keine/wenig Auskünfte über interne Zustände
m
...
r
Bei globalen Transaktionen oft nur "Read-Only"-Zugriff
r
Falls globale Update-Transaktionen, dann oft
r
m
Abkehr vom Atomaritätsprinzip
m
"Kompensation" anstelle von "Undo"
m
Einsatz komplexerer Transaktionskonzepte
Aktuelles Forschungsgebiet
m
Transaktionskonzepte
m
Synchronisationsverfahren, Korrektheitsaspekte
m
Schema-Integration
m
...
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-18
Heterogenität
heterogenes,
eng integriertes
vDBS
heterogenes
förderiertes
vDBS
heterogenes
Multi-DBS
zentrales DBS
Autonomie
homogenes,
eng integriertes
vDBS
homogenes,
föderiertes
vDBS
homogenes
Multi-DBS
Verteilung
Abb. 1-7: Klassifikation / Sprechweisen
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-19
1.4 Zusammenfassung: Charakteristische
Eigenschaften verteilter DBMSe
1. Daten physisch auf mehrere Rechner (Knoten) verteilt
2. Logische Sicht als eine Datenbank
3. Benutzer/AP braucht Verteilung nicht zu kennen
(Verteilungstransparenz)
4. Lokale Bearbeitung von Anfragen / Teilanfragen
5. Globales Transaktionskonzept
Anmerkung:
Je nach Realisierungsform (siehe Abschnitt 1.3.3) können sich bei den
mit
markierten Eigenschaften gewisse Einschränkungen ergeben.
Die mit
markierten Eigenschaften werden i.a. als unabdingbar für
ein verteiltes DBMS angesehen.
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-20
1.5 Aufbau eines vDBMS
Globale
Anfragebearbeitung
Verwaltung
globaler
Katalog
KopienVerwaltung
Globale
Commit-/AbortBehandlung
Globales
Recovery
Globales
TransaktionsMgmt
Sichere
Kommunikation
Globale
Synchronisation
Globale
Deadlockbehandlung
"normales DBMS"
globale Komponente
lokale Komponente
Abb. 1-8: Grob-Architektur eines vDBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-21
1.6 Abgrenzungen
1.6.1 Abgrenzung verteiltes DBMS zu C/S-DBMS
r
Verteilte Datenbanken
m
Symmetrisches System
m
alle Rechner sind i.w. gleichartig
m
alle Rechner führen i.w. die gleichen Funktionen aus
Abb. 1-9: Verteiltes DBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-22
r
Client - Server - DBMS (C/S-DBMS)
m
Unsymmetrisches System
m
Server und Client sind i.d.R. verschieden ausgelegt
m
Server und Client führen unterschiedliche Funktionen aus:
m
n
Server:
Store und Retrieval
n
Client:
eigentliche Bearbeitung
Typische Einsatzgebiete:
n
traditionelle Anwendungen
n
Entscheidungsunterstützungs-Systeme
DB-Server
Dies ist ein Test, ob die
Schrift auf dem Bildschirm
genauso aussieht, wie auf
dem Laserdrucker.
Client D
Client A
Client C
Client B
Abb. 1-10: Client - Server - DBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-23
m
Technisch / wissenschaftliche Anwendungen
n
Client = Workstation
⇒ Workstation - Server - DBMS
n
Charakteristisch:
l
lange, komplexe Bearbeitungsvorgänge
l
große, komplexe (Daten-)Objekte
Abb. 1-11: Workstation - Server - DBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-24
1.6.2 Abgrenzung vDBMS - verteiltes Dateisystem
Knoten A
DBMS
get_block(...)
Betriebssystem
Knoten B
Betriebssystem
Knoten C
Betriebssystem
Abb. 1-12: (Zentrales) DBMS mit verteiltem Dateisystem
r
Annahme: (Zentrales) DBMS auf Basis eines verteilten
Dateisystems implementiert
r
Eigenschaften:
m
Zentrale Verarbeitung aller Daten auf Knoten A
m
DBMS sieht nichts von der verteilten Speicherung
m
auch keine lokalen DBMS-Komponenten zur Bearbeitung von
DB-Anfragen vorhanden
m
daher kein verteiltes DBMS
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-25
1.7 Vorlesungs-Überblick
1. Einführung, Problemstellung und Überblick
2. Rechnernetze (nur kurz)
3. Grundlagen relationaler Datenbanksysteme (nur kurz)
• Relationenalgebra
• korrekte Zerlegung und Zusammenfassung von Relationen
4. Speicherung globaler Relationen
• Partitionierungsformen (horizontal, vertikal, ...)
• Bestimmung geeigneter Partitionen, physische Verteilung der Daten
5. Schema-Architekturen verteilter Datenbanksysteme
6. Anfragebearbeitung
• Anfragetransformationen (global → lokal, sequentiell → parallel)
• Anfrageoptimierung
7. Globale Transaktionen
• korrekte parallele Ausführung globaler Transaktionen
• Freigabe von Änderungen, Commit-Protokolle
• weiterführende Transaktionskonzepte
8. Synchronisationsverfahren
9. Replikationsverfahren
10. Recovery
11. Datenbankmaschinen / Mehrrechner-DBMS (nur kurz)
12. Client/Server-Anwendungen
• C/S-Modell, Architekturaspekte
• Basistechnologien (RPC, Kommunikationsdienste, RDA, TP-Monitore,
...)
13. Zusammenfassung und Ausblick
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-26
1.8 Basis-Literatur
r
P. Dadam: Verteilte Datenbanken und Client/Server-Systeme. SpringerVerlag, 1996
r
M.T. Özsu, P. Valduriez: Principles of Distributed Database Systems.
Prentice Hall, 1991
r
S. Conrad: Föderierte Datenbanksysteme – Konzepte der
Datenintegration. Springer-Verlag, 1997
r
E. Rahm: Mehrrechner-Datenbanksysteme – Grundlagen der verteilten und
parallelen Datenbankverarbeitung. Addison-Wesley, 1994
r
S. Ceri, G. Pelagatti: Distributed Databases, Principles and Systems.
McGraw-Hill Book Company, 1984
r
H. Kudlich: Verteilte Datenbanken, Systemkonzepte und Produkte.
Siemens Nixdorf Informationssysteme AG, 1992
r
J. Gray, A. Reuter: Transaction Processing: Concepts and Techniques.
Morgan Kaufmann Publishers, 1993
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-27
P. Dadam, 1999 - Verteilte Datenbanken und Client/Server-Systeme
1. Einführung, Problemstellung und Überblick
1-28