Universität Paderborn
Datenbanken,
Datenbanksysteme &
Zugriffsschichten für Daten
Konstantin Steinbrecher
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
Einführung
Anwendung 1
DBS
Datenbank 1
Anwendung m
DBMS
Datenbank 2
Datenbank n
DBMS stehlt zur Verfügung: DDL & DML
Datenbankschema -- Datenbankausprägung
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
2
Gliederung
• Datenbankmodelle:
Relationale Datenbanken
Objektrelationale Datenbanken
Objektorientierte Datenbanken
Multimediadatenbanken
• Verteilte Datenbanken
Fragmentierung
Allokation
• Kriterien von verteilten Datenbanksystemen
• Komponenten-Datenbanksysteme
• Multidatenbanksysteme
Förderierte Datenbanksysteme
• Midlleware
Anforderungen
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
3
Datenbankmodelle: Relationale Datenbanken
Relationenname
R
A1
Attribute
...
An
Relationenschema
Attributwert
Relation
Tupel
Definition des Datenbankschema
Hinzufügen der Daten
Verändern der Daten
SQL
Löschen der Daten
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
4
Datenbankmodelle: Objektrelationale Datenbanken
Erweiterung der Relationale Datenbanksysteme
durch objektorientierte Konzepte:
• Mengenwertige Attribute
• Benutzerdefinierte Datentypen
• Referenzen
• Objektidentität
• Pfadausdrücke
• Vererbung
• Operationen
• Datentypen für große Objekte
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
5
Datenbankmodelle: Objektorientierte Datenbanken
Erweiterung der Programmiersprachen C++ und Smalltalk um Persistenzmodell
Später kamm auch Java hinzu.
Ein Objekt drei Bestandteilen:
Identität
eine systemweit eindeutige Objektidentität
Typ
legt die Struktur und das Verhalten des Objekts fest,
Extension: Menge aller Objekte eines Typs
Zustand
beschreibenden durch Werte seiner Attribute
ODMG Standard
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
6
Datenbankmodelle: Multimedia-Datenbanksysteme
Unterstützung von alphanumerischen Typen und
Multimediadatentypen:
• Text
• Schwarz-weiße und farbige Standbilder
• Grafische Objekte
• Video-Daten
• Audio-Daten
Das Konzept der Objektorientierung:
Typ = Struktur + Operationen
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
7
Verteilte Datenbanken
Globales Schema
Fragmentierungsschema
Zuordnungsschema
Lokales Schema
Lokales Schema
Lokales DBMS
Lokales DBMS
Lokale DB
Lokale DB
Station S1
Station S1
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
8
Verteilte Datenbanken
Globales Schema
Fragmentierungsschema
Entwurf
Zuordnungsschema
Lokales Schema
Lokales Schema
Lokales DBMS
Lokales DBMS
Lokale DB
Lokale DB
Station S1
Station S1
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
8
Verteilte Datenbanken: Fragmentierung
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
9
Verteilte Datenbanken: Fragmentierung
R
R1
R2
R3
Horizontale Fragmentierung
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
9
Verteilte Datenbanken: Fragmentierung
R
R
R1
R2
R3
R1
Horizontale Fragmentierung
Vertikale Fragmentierung
k
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
R2
9
Verteilte Datenbanken: Fragmentierung
R
R
R1
R2
R3
R1
Horizontale Fragmentierung
Vertikale Fragmentierung
k
R2
R
R21
R22
R23
R1
R2
a) Kombinierte Fragmentierung:
horizontale nach vertikale
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
9
Verteilte Datenbanken: Fragmentierung
R
R
R1
R2
R3
R1
Horizontale Fragmentierung
Vertikale Fragmentierung
R
R1
R2
k
R
R21
R1
R22
R2
R23
R3
R2
a) Kombinierte Fragmentierung:
horizontale nach vertikale
R31
R32
b) Kombinierte Fragmentierung:
vertikale nach horizontale
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
9
Verteilte Datenbanken: Allokation
Die Zuordnung der Fragmente auf Stationen der verteilten
Datenbank
Allokationsschema beschreibt die Zuordnung von
Fragmenten zu Stationen
Allokation mit Replikation: Fragmente werden repliziert
mehreren Stationen zugeordnet
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
10
Kriterien von verteilten Datenbanksystemen
Das verteilte Datenbanksystem ist eine Zusammensetzung aus mehreren
verteilten (zentralisierten) Datenbanken und einem oder mehreren
verteilten (zentralisierten) Datenbank-Management-Systemen.
Verteilung
Heterogenität
Wegen der Differenz in DBMSs
Semantische Heterogenität
Autonomie
Designautonomie,
Kommunikationsautonomie,
Ausführungsautonomie,
Verbindungsautonomie
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
11
Komponenten-Datenbanksystemen
Modulare Aufbau von Softwaresystemen
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
12
Komponenten-Datenbanksystemen
Modulare Aufbau von Softwaresystemen
Führt
Komponenten-Datenbank-Management-System
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
12
Komponenten-Datenbanksystemen
Modulare Aufbau von Softwaresystemen
Führt
Komponenten-Datenbank-Management-System
Das DBMS besteht aus Komponenten, so daß die
neue Komponenten hinzugefügt bzw. bereits
existierende ausgetauscht werden können
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
12
Multidatenbanksysteme
MDBS: eine Zusammensetzung von mehreren Komponenten-DBSs
 Bzgl. Verteilung:
• zentralisiertes Komponenten-DBS
• verteiltes Komponenten-DBS
 Bzgl. Heterogenität:
• homogenes MDBS
• heterogenes MDBS
 Bzgl. Autonomie:
• nicht förderierte Datenbanksysteme
• förderierte Datenbanksysteme
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
13
Multidatenbanksysteme: Entwurf
Globales Schema
Fragmentierungsschema
Zuordnungsschema
Lokales Schema
Lokales Schema
Lokales DBMS
Lokales DBMS
Lokale DB
Lokale DB
Station S1
Station S1
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
14
Multidatenbanksysteme: Entwurf
Globales Schema
Fragmentierungsschema
Entwurf
Zuordnungsschema
Lokales Schema
Lokales Schema
Lokales DBMS
Lokales DBMS
Lokale DB
Lokale DB
Station S1
Station S1
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
14
Förderierte Datenbanksysteme
FDBS
FDBMS
Component-DBS 1
Component DBMS 1
(Zentralisiertes
DBMS)
Component
Datenbank 1
Component-DBS 2
Component DBMS 2
(Verteiltes DBMS)
Component
Datenbank
2-1
Component-DBS n
Component DBMS n
(Andere FDBMS)
Component
Datenbank
2-2
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
15
Middleware
(Java-)
Anwendung
Webbrowser
Mobiles Gerät
Datenbank
Applikationsserver
(mit Anwendungsdiensten)
Dateisystem
(Alt-)
Anwendungen
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
16
Middleware: Anforderungen
Netzwerkkommunikation
Anwendungsprogramm
Anwendungsschicht
Darstellungsschicht
Sitzungsschicht
Transportschicht
Vermittlungsschicht
Sicherungsschicht
Bitübertragungsschicht
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
17
Middleware: Anforderungen 2
Koordination
Synchron
Asynchron
Gruppenkommunikation
Activation policies
Threading policies
Skalierbarkeit
Heterogenität
Zugriffstransparenz
Ortstransparenz
Hardware
Betriebssysteme
Migrationstransparenz
Programmiersprachen
Replikationstransparenz
Middleware selbst
 ACID-Eigenschaften
 Im Bezug auf
Zuverlässigkeit
 Kommunikation
zwischen zwei
Komponenten
• best effort
• at-most-once
• at-least-once
• exactly-once
• Atomarität
Gruppenkommunikation
• Konsistenz
• k-reliability
• Isolation
• time-outs
• Dauerhaftigkeit
• totally-ordered
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
18
Zusammenfassung
Aktuelle Trend: bereits existierende DBSs zusammenzuführen
Probleme: Verteilung, Heterogenität, Autonomie
Lösungsansatz: Middleware, als Schicht zwischen
Datenbanksystem und Anwendung
Typen:Transaktionsmiddleware, Nachrichtenorientierte und
Objekt- bzw. Komponentenorientierte Middleware
In Praxis: Das Zusammenwachsen dieser Typen
Entwicklung eines verteilten multimedia Systems mit Hilfe von Design Pattern
19