Title: Principles of Distributed Database Systems
1Principles of Distributed Database Systems
- ausgearbeitet von
- Rainer Steinlesberger 0026446
2Einleitung
DDBS Netzwerk von Computern (Sites)
Datenbank DDBS Verteilung Integration
Netzwerk
Datenbank
DDBS
3Übersicht
- Einleitung
- Was ist ein DDBS?
- Überblick über relationale DBMS
- Computer Netzwerke
- Architektur von DBMS
- Design einer verteilten Datenbank
4Geschichtlicher Rückblick
- Ende der 60er Anfang der 70er ging man zunehmend
dazu über Datenbanksysteme zu benutzen, um - die Datenunabhängigkeit der Anwendungsprogramme
zu erhöhen, - transaktionsorientierte Verarbeitung zu
ermöglichen, - Mehrbenutzerbetrieb zu realisieren,
- sowie die Recovery-Funktionen zu verbessern.
- Entstehen von Rechenzentren, wodurch die
Betriebsorganisation zentralisiert wurde! - Die Datenmenge wuchsen immer weiter an ?
zusammengehörende Datenbestände wurden auf - verschiedene Datenbanken verteilt.
- Dadurch entstanden Probleme mit der
Konsistenthaltung der Daten. - In den 80iger und 90iger Jahren konnten durch
Onlineanwendungen bislang getrennte - Anwendungen und Datenbestände zusammengeführt
werden.
5Desshalb
wurden integrierte verteilte Informationssysteme
realisiert.
6Definition
A distributed database is a collection of
multiple, logically interrelated databases
distributed over a computer network. A
distributed database management system is the
software that permits the management of the DDBS
and makes the distribution transparent to the
users.
7Zentrale Datenbankin einem Netzwerk
Boston
Edmonton
Communication Network
Paris
San Francisco
8Verteilte Datenbankstruktur
Edmonton
Boston
- Edmonton Angestellte
- Paris Projekte
- Edmont Projekte
- Boston Angestellte
- Paris Angestellte
- Boston Projekte
Communication Network
San Francisco
Paris
- Paris Angestellte
- Paris Projekte
- Boston Angestellte
- Boston Projekte
- San Francisco Angestellte
- San Francisco Projekte
9Transparentes Management
- Datenunabhängigkeit
- Netzwerk Transparenz
- Replizierungs- bzw. Kopiertransparenz
- Fragmentierungstransparenz
10Verbesserte Leistung
- Ein DBMS teilt die Datenbank und erlaubt es den
Daten somit sehr sehr nahe ihrem Ort, wo sie
gebraucht werden, gespeichert zu werden. - dies hat 2 Vorteile
- Seit jeder Knoten einen Teil der Daten bewältigt,
ist der Kampf um Ressourcen wie CPU nicht mehr so
wichtig wie in zentralisierten Datenbanken - Lokalisierung vermindert die Verzögerung bei
entfernten Aufrufen
11Probleme
- Verteiltes Datenbank-Design
- Verteilte Suchprozesse
- Verteiltes Verzeichnis-Management
- Verteilte Konkurrenzkontrolle
- Verteiltes Deadlock Management
- Betriebssystem-Unterstützung
- Heterogene Datenbanken
123. Relationale DBMS
13Relationen
- Def. in Beziehung stehend....
- Relationen sind 2dimensonale Tabellen von Werten
141. Normalform
O-------------------------------------------------
-----------------------------------------------O
Vorlesungen
Verantwortliche
Hörer Bewert. O----------------------
--------------------------------------------------
------------------------O Vorl.Nr. Vorl.Name
Hörs. Vorn. Nachn. Nr. Vorn.
Nachn. Matr.Nr. Note O------------------------
--------------------------------------------------
----------------------O 3721
Informatik HS1 130 Alan Kurow 102
Fritz Maier 8610826 2 3721
Informatik HS1 130 Alan Kurow 102
Fritz Müller 8510721 5 3721
Informatik HS1 130 Franz Girke 108
Fritz Maier 8610826 3 3721
Informatik HS1 130 Franz Girke 108
Fritz Müller 8510721 4 3721
Informatik HS1 130 Franz Girke 108
Hans Schuh 8610933 1
O-------------------------------------------------
--------------------------------------------------
-O Vorlesungen
Verantwortliche
Hörer Bewert. O--------------
--------------------------------------------------
------------------------------------O Vorl.Nr.
Vorl.Name HS HS-Gr. Vorn. Nachn. Nr.
Vorn. Nachn. Matr.-Nr. Note O------------
--------------------------------------------------
--------------------------------------O 3721
Informatik HS1 130 Alan Kurow
102 Fritz Maier 8610826 2 3721
Informatik HS1 130 Alan Kurow
102 Fritz Müller 8510721 5 3721
Informatik HS1 130 Franz Girke
108 Fritz Maier 8610826 3 3721
Informatik HS1 130 Franz Girke
108 Fritz Müller 8510721 4
3721 Informatik HS1 130 Franz
Girke 108 Hans Schuh 8610933 1
152. Normalform
- Die 2. Normalform vermeidet partielle funktionale
Abhängigkeiten (diese bewirken Redundanzen). Eine
partielle funktionale Abhängigkeit besteht, wenn
Attribute (die nicht Schlüsselkandidaten sind)
funktional schon von einem Teil des Schlüssels
abhängen. Die zweite Normalform kann durch
Elimination der abhängigen Attribute und
Auslagerung in eine eigene Relation erreicht
werden. - Der Primärschlüssel besteht aus dem
Attributetupel (Vorlesungsnummer,
Verantwortlichennummer, Matrikelnummer) - Wir zerlegen nun die Relation in vier Relationen,
die dann in 2. Normalform sind.
162. Normalform
- O-------------------------------------------O
- V.-Nr. Ver.-Nr. Matr.-Nr. Bewertung
- O-------------------------------------------O
- 3721 102 8610826 2
- 3721 102 8610721 5
- 3721 108 8610826 3
- 3721 108 8610721 4
- 3721 108 8610933 1
- O------------------------------------O
- Hörsaal
- V.-Nr. V.-Name Bez. Größe
- O------------------------------------O
- Informatik HS1 130
- 3722 Informatik HS4 140
O-------------------------------O Ver.-Nr.
Vorname Nachname O-----------------------------
-O 102 Alan Kurow 108
Franz Girke
O----------------------------------O Matr.-Nr.
H.-Vorn. H.-Nachn. O--------------------------
--------O 8610826 Fritz Maier
8610721 Fritz Müller 8610933
Hans Schuh
173. Normalform
Eine Relation ist in dritter Normalform, wenn sie
in 2. Normalform ist und es kein Attribut,
welches nicht Teil des Schlüssels ist, gibt,
welches transitiv vom Schlüssel abhängt.
- O-------------------------------------------O
- V.-Nr. V.-Name Hörsaal-Bezeichnung
- O-------------------------------------------O
- Informatik HS1
- Informatik HS4
-
- O-------------------------------------O
- Hörsaal-Bezeichnung Hörsaal-Größe
- O-------------------------------------O
- HS1 130
- HS4 140
-
- O------------------------------------O
- Hörsaal
- V.-Nr. V.-Name Bez. Größe
- O------------------------------------O
- Informatik HS1 130
- 3722 Informatik HS4 140
18Relationale Daten Sprache
- Relationale Algebra
- Verknüpft konstruktiv die vorhandenen
Relationen durch Operatoren wie n,?,... - Relationaler Kalkulus
- Beschreibt Eigenschaften des gewünschten
Ergebnisses mit Hilfe einer Formel der
Prädikatenlogik 1. Stufe unter Verwendung von
?,?,?,?,,...
19Relationale Algebra
- Selection
- Projection
- Union
- Set Difference
- Cartesian Product
- Intersection
- ..........
20Einige Beispiele...
- Selection Semestergt10(Studenten)
- ?Name(Studenten) ...... Projektion
- ?Name (Studenten) ? ?Name(Professoren) (2
Relationen mit gleichem Schema) - ?Name (Studenten) - ?Name(Geprüft) (2
Relationen mit gleichem Schema)
21Relationaler Kalkulus
- Tupelkalkül
- t F(t)
- pp ? Professoren ? p.Alter 35
- Bereichskalkül
- v1, v2,..., vn P(v1, v2,..., vn)
224. Netzwerk
234. Netzwerk
24Topologien im Überblick...
25(No Transcript)
26OSI-Referenzmodell
275. Architektur von DBMS
285. Architektur von DBMS
- Die Idee hinter dem ANSI/SPARC Modell ist die
Datenunabhängigkeit der Daten gegenüber
Veränderungen der Speicherstrukturen. - Das DBMS ist eine Schnittstelle zu den Daten.
29Architekturmodell
30Architektur von DBMS
- Client - Server Architektur
- Verteilte Datenbank Architektur
- Multi Datenbank Architektur
31Client/Server Architektur
- Hier gibt es typischerweise einen zentralen
Datenbank-Server und eine größere Anzahl
vernetzter Arbeitsplatzrechner, die keine
relevanten Daten speichern. Der Benutzer am
Arbeitsplatzrechner sieht die volle
Funktionalität des DBMS. Das System verhält sich
wie ein zentrales Datenbanksystem, die
Kommunikation ist für den Benutzer transparent
32Verteiltes Datenbanksystem
- Hier gibt es mehrere Datenbankserver, wobei
bestimmte Daten auf nur einem Rechner oder auch
auf mehreren (replizit) gespeichert sein können. - Eine virtuelle Datenbank, deren Komponenten
physisch in einer Anzahl unterschiedlicher, real
existierender DBMS abgebildet werden. - Transaktionen können in diesem Fall über mehrere
DBMS laufen. - Sammlung von Daten, die
- Aufgrund gemeinsamer, verknüpfender Eigenschaften
dem gleichen System angehören - Auf versch. Rechnern im Netzwerk verteilt sind
- Wobei jeder Rechner seine eigene Datenbank
besitzt - Autonom lokal Aufgaben abwickeln kann
33Verteiltes Datenbanksystem
- gleichzeitige Benutzung der Rechenleistung
mehrerer Rechner - Engpaß in zentralen
Datenbanksystemen bei Zugriff auf die Daten wird
vermieden, da die Daten verteilt sind (ggf.
repliziert) - Daten werden von einem
Datenbanksystem verwaltet - Verteilungstransparenz
- Grundlage 4-Ebenen-Schema-Architektur
34Verteiltes Datenbanksystem
externes Schema 1
externes Schema N
. . .
konzeptionelles Schema
lokales konzept. Schema
lokales konzept. Schema
lokales konzept. Schema
. . .
lokales internes Schema
lokales internes Schema
lokales internes Schema
. . .
4 - Ebenen - Schema - Architektur
35Multidatenbanksystem
- - Ein MDBS ist ein Verbund von mehreren
Datenbanksystemen. - - Das Konzeptionelle Schema repräsentiert nur den
Teil von Daten, den die lokalen DBMS teilen
wollen. - - Auf jedes DBS können lokale Anwendungen
zugreifen. - - Jedes DBS kann Daten enthalten, welche keine
Beziehung zu Daten anderer DBS haben.
36Multidatenbanksystem
GES
GES
GES
LES
LES
LES
LES
LES
LES
GKS
LKS 1
LKS n
...
...
LIS 1
LIS n
Modell mit globalem konzeptionellem Schema
37Multidatenbanksystem
ES 1
ES 2
ES 3
MDB-Schicht
Lokale System -Schicht
LKS 1
LKS 3
LKS 2
LIS 1
LIS 3
LIS 2
Modell ohne globales konzeptionelles Schema
386. Design
396. Design
- Entwurfsmethodik
- top-down von den Anforderungen zum
Systementwurf geeignet für Neuentwicklungen. - bottom-up Integration bestehender Datenbanken zu
einer verteilten typisch bei heterogenen
Datenbanken.
- Datenverteilung
- Fragmentierung der Daten zur Bildung logischer
Einheiten, - Verteilung der Fragmente auf den Sites
Allokation aller Fragmente an jeder Site (volle
Replikation) oder jedes Fragment an mehr als
einer Site (partielle Replikation) oder jedes
Fragment an genau einer Site (Partitionierung).
40- Die Trennung von Fragmentierung und Allokation
dient der Vereinfachung des Entwurf. - Globales Schema Definition der Relationen eines
vDBS ohne Berücksichtigung der Verteilung, - Fragmentierungsschema Definition der Abbildung
zwischen globalen Relationen und Fragmenten, - Allokationsschema Definition der Abbildung
zwischen Fragmenten und Sites.
- Der Zugriff zu den Daten soll hinsichtlich
Fragmentierung, Lokation, und Replikation
transparent sein.
41R1
R1,1
S1
R2
R2,1
R
R1,2
R3
R4
Globale Relation
S2
R2,2
Fragmente
Fragmente und ihre Allokation
Allokation an den Sites
R3,3
S3
R4,3
42Beispiel
horizontale Fragmentierung
43Beispiel
abgeleitete horizontale Fragmentierung
44Beispiel
vertikale Fragmentierung
45Allokation
- Sei F F1, ..., Fn eine Menge von Fragmenten,
S S1, ..., Sm ein Netzwerk gegeben durch die
Menge seiner Sites, und Q Q1, ..., Qp die
Menge der relevanten Anwendungen. - Allokationsproblem
- Was ist die optimale Zuordnung von F zu S bzgl.
Q? - Optimaltätskriterium
- Minimalität der Kosten gegeben durch die
Speicherkosten der Fi an den Sites Sj, der
Anfragekosten für Fi an Site Sj, der
Änderungskosten der Fi an allen Sites an den sie
gespeichert sind, und die Kosten der
Datenkommunikation. - Performanz im Sinne von Antwortzeiten oder
Systemdurchsatz.
46Ende