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