Kapitel 14 Verteilte DBMS 14 Verteilte DBMS 14 Verteilte DBMS...1 14.1 Begriff, Architektur und Ziele verteilter Datenbanksysteme...2 14.2 Verteilungsarten...5 14.2.1 Verteilung der Daten...5 14.2.2 Verteilung der Software...7 14.3 Probleme des Einsatzes verteilter Datenbanksysteme8 14.3.1 Ausführung und Optimierung von Datenbankanfragen...9 14.3.2 Synchronisation...9 14.3.3 Recovery...10 Seite 1
14.1 Begriff, Architektur und Ziele verteilter Datenbanksysteme Grundlage eines verteilten Datenbanksystems (VDBS) ist ein verteiltes DV-System. Strukturierung eines verteilten Datenbanksystems: verteilte Datenbank verteiltes Datenbankverwaltungssystem Verteilte Datenbank Ergebnis der physischen Speicherung logisch integrierter Daten an unterschiedlichen geographischen Orten (Knoten) innerhalb eines verteilten DV-Systems Verteiltes Datenbankverwaltungssystem (VDBVS) Enthält Software zur Bewältigung aller zusätzlichen Funktionen Seite 2
VDBS können aufgeteilt werden: homogene Systeme heterogene Systeme Architektur eines VDBS Ziele und Vorteile von VDBS: Senkung der Kommunikationskosten Senkung der Antwortzeiten Seite 3
Ausfallsicherheit, Datensicherheit, Fehlertoleranz Höhere Datenkapazität Erweiterbarkeit/Flexibilität Lokale Autonomie Ortstransparenz Organisatorische Anpassung Klassifikation von Zielen: Kostensenkung Sicherheitserhöhung Bessere Abbildung der Organisationsstruktur auf die DV- Struktur Anwendungen von VDBS: Technische Informationssysteme Büro-Informationssysteme Software-Entwicklungssysteme Expertensysteme Seite 4
Organisatorische Flexibilität durch VDBS: Deckungsgleichere Abbildung von Organisationsstruktur und Informationstechnologie-Struktur. Freiheitsgrade in der Verteilung von Entscheidungsbefugnissen. Möglichkeit der organisatorischen Kapazitätsänderung. Aufbau hierarchischer Planungssysteme. Planung auf Grobebene findet zentral statt, Planung auf Feinebene für Teildatenmengen dezentral. 14.2 Verteilungsarten Die Verteilung eines Datenbanksystems betrifft die Ebene der Daten und die der Software. 14.2.1 Verteilung der Daten Hauptziel der Verteilung der Daten (Datenallokation) ist ein gutes Lokalitätsverhalten. Seite 5
Zweistufige Vorgehensweise bei der Datenverteilung: Fragmentierung der Datenbank. Zuordnung der Fragmente zu Knoten. Vorschläge zur Datenverteilung: Replikation: Identische Kopien aller Daten (volle Replikation) oder von Teildatenmengen werden an mehreren (allen) Knoten gehalten. Horizontale Partitionierung: Dies ist eine Zerlegung von Relationen in disjunkte Tupelmengen auf verschiedenen Knoten. Vertikale Partitionierung: Die vertikale Partitionierung zerlegt Relationen attributweise. Seite 6
Beispiel zur horizontalen und vertikalen Partitionierung: 14.2.2 Verteilung der Software VDBS-Software übernimmt die Aufgabe, aufgrund einer Datenbankanfrage die erforderlichen Datenbankzugriffe an den richtigen Knoten vorzunehmen. Seite 7
Konsequenzen aus der Verteilung des Datenkatalogs (Data Dictionary): Zentralisierter Katalog Replizierter Katalog Partitionierter Katalog 14.3 Probleme des Einsatzes verteilter Datenbanksysteme Folgende wesentlichen Problemkreise ergeben sich: Ausführung und Optimierung von Datenbankabfragen. Synchronisation. Recovery (Fehlerbehandlung bei DB-Ausfall). Seite 8
14.3.1 Ausführung und Optimierung von Datenbankanfragen Ansatz: Eine Anfrage an die Datenbank kann in einem VDBS auf mehrere Weisen gelöst werden. Ziel: Ziel einer Optimierung von Anfragen wird es sein, unter Ausnutzung von Parallelarbeit der Teilanfragen Gesamtantwortzeit und -kosten zu minimieren. 14.3.2 Synchronisation In VDBS existiert das Problem der Synchronisation von Aktionen auf entfernten Knoten: Korrekte Updates Concurrency-Problem Globaler Deadlock Seite 9
Beispiel eines globalen DEADLOCKS in einem VDBS: 14.3.3 Recovery Eine Fehlerbehandlung muss stattfinden bei einer nicht beendeten Update-Transaktion, Ausfall eines Knotens, Aufteilung des Rechnernetzes in mehrere noch funktionsfähige Teilnetze. Seite 10