Kapitel 1: Einführung, Problemstellung und Überblick

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