Thomas Faust, Andreas Linke, Steffen Schäfer

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Datenbankzugriff über ISAPI-Webservererweiterungen
Objektrelationales Mapping mit JPA Advanced Topics Jonas Bandi Simon Martinelli.
E-Commerce Shop System
Datenbanken Einführung.
Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Objektorientierte Datenbanken
Objekt – Relationales – Modell Tomasz Makowski IN
System J – Compiler – Praktikum: Datenbanksystementwicklung Knut Stolze
MySQL.
Datenbankzugriff im WWW (Kommerzielle Systeme)
Systemüberblick Beispiele: Microsoft Access Oracle Ingres Informix
Objektrelationales Mapping mit JPA Getting Started Jonas Bandi Simon Martinelli.
Intranet-Portal mit Microsoft SharePoint Portal Server
Java: Objektorientierte Programmierung
DOM (Document Object Model)
XINDICE The Apache XML Project Name: Jacqueline Langhorst
SQL als Abfragesprache
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
SQL/XML. © Prof. T. Kudraß, HTWK Leipzig 2 2 Motivation Speicherung von XML in allen großen kommerziellen DBMS vorhanden proprietäre Lösungen für die.
Text-Retrieval mit Oracle Vortrag von Andreas Mück & David Diestel.
MMQL – Multimedia Query Language Eine Anfragesprache für Multimedia-Ähnlichkeitsanfragen Christian Mantei.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
Introducing the .NET Framework
Access 2000 Datenbanken.
Datenbanken Einführung Merkmale dateiorientierte Datenverwaltung
Seminar: Verteilte Datenbanken
Oracle interMedia Image
JDBC EDV JDBC.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Einführung und Überblick
JDBC: JAVA Database Connectivity
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
... und alles was dazugehört
Visualisierung objektrelationaler Datenbanken
ODBC (Open Database Connectivity)
Was umfaßt die CORBA Core Spezifikation? Welche zusätzlichen Komponenten muß ein ORB Produkt beinhalten? Core: CORBA Objekt Modell CORBA Architektur OMG.
Entwurf und Realisierung einer digitalen Bibliothek zur Verwaltung von Notenhandschriften Dipl.-Ing. Temenushka Ignatova Datenbank- und Informationssysteme,
Wir bauen uns eine Webapplikation!
SharePoint 2010 for Information Architects
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Nicolas Frings Maximilian Bernd Stefan Piernikarcyk
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 5 Folie 2 ADO.NET s.a:
Sesame Florian Mayrhuber
Getting Started Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
CGI (Common Gateway Interface)
Allgemeines zu Datenbanken
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Die Architektur von Jini Präsentation von Thomas Heinis & Michea Wankerl Seminar Information & Kommunikation WS 2000/01.
Zeit:Aktion: 08:30Begrüßung, Organisation 08:45Einführung - Was heißt OPC - OLE for Process Control --> Folie - OPC definiert eine offene Schnittstelle,
Freiwillige Feuerwehr der Stadt Perg
Esprit Database Suite Eine leistungsfähige Java-Persistzenzschicht zur einfachen Programmierung von Datenbankapplikation.
Oliver Spritzendorfer Thomas Fekete
Von Isabelle Spörl und Simon Schausberger
XML und Datenbanken © 2006 Markus Röder
Torque in Turbine Team 4 Josef Bohninger Thomas Lindenhofer
SQLite und XML in PHP 5.
Structured Query Language
Eike Schallehn, Martin Endig
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Datenbank System (DBS) - Warum?
Datenbanken abfragen mit SQL
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
XML-Erweiterungen in ORDBMS Seminar: DBMS für spezielle Anwendungen Florian Brieler.
Vorlesung #4 Relationales Kalkül und SQL (Teil 1)
Installation und Beispiele
(Structured Query Language)
 Präsentation transkript:

Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität Halle-Wittenberg Hauptseminar - Halle - 15.01.2002

Gliederung Einführung Notwendigkeit von Datenbank-Middleware 08.04.2017 Gliederung Einführung Notwendigkeit von Datenbank-Middleware Komponentenorientierte DB-Systeme Integrationsansätze Universal Storage Table Function/ Virtual Table Interface Universal Access OLE DB Garlic/ Data Joiner Datenintegration Speicherung von Datenobjekten Data Links © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Datenbank-Middleware 08.04.2017 Datenbank-Middleware Wünschenswert wäre: Zugriff auf /Integration von Daten Plattformunabhängige Interoperabilität Erweitertes Transaktionskonzept Datenbank nur eine Komponente unter vielen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Komponentenorientierung 08.04.2017 Komponentenorientierung Erweiterung Erweiterung DBMS Erweiterung Erweiterung DBS Erweiterung Erweiterung © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Überblick – Architekturen 08.04.2017 Überblick – Architekturen Plug-in Database-Middleware DBMS Services Configurable DBMS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Plug-in Universal Server Was Server selbst nicht kann kommt von aussen 08.04.2017 Plug-in Universal Server Was Server selbst nicht kann kommt von aussen DBMS DBS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Erweiterungsmöglichkeiten (1) 08.04.2017 Erweiterungsmöglichkeiten (1) Erweiterungsmöglichkeiten Typen Funktionen Indexstrukturen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Erweiterungsmöglichkeiten (2) 08.04.2017 Erweiterungsmöglichkeiten (2) 1. Typen Distinct Types Umbenennung schon integrierter Typen Opaque types Für DBS nur „Black Box“ - Zugriff über Funktionen Row types Neue Tabellentypen aus erzeugten Datentypen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Erweiterungsmöglichkeiten (3) 08.04.2017 Erweiterungsmöglichkeiten (3) 2. Funktionen (UDF) 3GL (C, C++, Java) Können in SQL-Statement enthalten sein oder Nur für internen Gebrauch – durch andere Funktionen aufgerufen Skalare Funktionen – ein Wert wird zurückgeliefert Aggregatsfunktionen Tabellenfunktionen – Tabellen werden zurückgeliefert 3. Indexstrukturen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Database-Middleware Integration externer Datenquellen 08.04.2017 Database-Middleware Integration externer Datenquellen API mit unterschiedlicher Mächtigkeit Verschiedene Datenmodelle Lösung durch Wrapper A N W E N D U N G E N DBS Middleware © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

08.04.2017 DBMS Services Aufspaltung einer Datenbank in ihre Dienste (Datenhaltung, Suchen, Transaktionskontrolle) einige/alle Dienste der Datenbank können ausgelagert werden Anwendung Platform © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 1 © 2001 Monika Mustermann, MLU Halle-Wittenberg

Configurable DBMS Neue Services können integriert werden D B M S DBS 08.04.2017 Configurable DBMS Neue Services können integriert werden D B M S DBS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Ansätze Universal Storage Universal Access 08.04.2017 © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Universal Storage Zugriff auf externe Daten: Table Function – IBM 08.04.2017 Universal Storage Zugriff auf externe Daten: Table Function – IBM Virtual Table Interface – Informix Gemeinsamer Grundmechanismus Eine/ mehere Funktionen realisieren öffnen, lesen, schliessen einer externen Datei und zurückliefern einer Tabelle Mit Tabelle kann über SQL gearbeitet werden © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Tabellenfunktionen – Beispiel 08.04.2017 Tabellenfunktionen – Beispiel CREATE FUNCTION <Funktionsname> (<Datentypen>) RETURNS TABLE <Spaltenname + Datentyp> EXTERNAL <Name + Zeichenkette> LANGUAGE <C,...> PARAMETER STYLE <DB2SQL (für C und OLE), DB2GENERAL (JAVA)> FENCED/ NOT FENCED NO SQL (NO) EXTERNAL ACTION © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Universal Access Wrapper basierte Ansätze OLE DB Garlic / Data Joiner 08.04.2017 Universal Access Wrapper basierte Ansätze OLE DB Garlic / Data Joiner © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

OLE DB Object linking and embedding 08.04.2017 OLE DB Object linking and embedding Umsetzung von Microsofts Universal Data Access – Strategie UDA selbst ist eine Komponenten-Architektur © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

UDA – Architektur Application Microsoft Transaction Server 08.04.2017 UDA – Architektur Consumers Application Microsoft Transaction Server ActiveX Data Objects OLE DB Cursor engin Distributed query engine Relational query engine COM/DCOM Services OLE DB Data Providers OLAP RDBMS ISAM SPATIAL EMAIL © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

IBM OLE DB Provider DB2 „spielt“ OLE DB Provider 08.04.2017 IBM OLE DB Provider DB2 „spielt“ OLE DB Provider Somit können andere unterstützte Anwendungen Daten entnehmen OLE DB Provider befindet sich beim Client und unter- stützt folgende Anwendungen ADO C/ C++ © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

Garlic The Project © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Ein kleines Beispiel... © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Das Garlic Project wurde 1995 von IBM entwickelt. 08.04.2017 The Project Das Garlic Project wurde 1995 von IBM entwickelt. Ziel ist es, weitgefächerte Multimediasysteme zu bilden. Wobei unter Multimedia ein grosses Spektrum von Daten gemeint ist: Dazu gehören neben Bildern, Videos und Audiodaten sowie Texten auch anwendungsspezifische Daten wie CAD-Zeichnungen, Karten... . Garlic soll so die Integration von heterogenen Datenquellen via einer mächtigen Middleware ermöglichen! © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg © 2001 Monika Mustermann, MLU Halle-Wittenberg

The Project Die Architektur: © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Die Architektur: Data Repositories Sind die heterogenen Datenquellen, die inte- griert werden sollen. Können verschiedenar- tigst sein: - relationale DB - objektorient. DB - Dokumentenma- nagement System - Dateisystem - ... und auch die Anzahl ist nicht begrenzt. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Die Architektur: Wrappers Die Wrapper über- setzen Informationen über die Datentypen, den Datenzugriff und die Datenmanipula- tionsanfragen zwischen der Garlic Middleware und den darunter liegenden Datenquellen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Die Architektur: Metadata Repository Das Metadata Repository verwaltet Informationen über das sich nach oben hin präsentierende Garlic – Schema sowie Infor- mationen zur Über- setzung für die Wrapper. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Die Architektur: Middleware Das Garlic Query Services and Runtime System stellt das ein- heitliche Schema zum Benutzer hin, ist für die Anfrageverar- beitung (d.h. das zer- teilen einer Query und das Zusammenfügen) verantwortlich. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Die Architektur: User Interfaces Die C++ API bietet eine statische Schnitt- stelle für SQL-Queries aus Anwendungspro- grammen heraus an. Der Query/Browser ermöglicht eine Suche mittels einer benutzer- freundlichen, graphi- schen Benutzerober- fläche. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Das Garlic Datenmodell The Project Das Garlic Datenmodell Die Daten in Garlic werden durch ein vereinheitlichtes Schema dem Benutzer geboten und durch ein objektorientiertes Datenmodell ausgedrückt. Veränderungen & Erweiterungen ODMG-93 Garlic Object Model Garlic Data Model Object Definition Language [ODL] Garlic Data Language [GDL] © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Anfragen in Garlic: - als Anfragesprache dient eine objetorientierte Erweiterung von SQL Damit sind Möglichkeiten der objektorientierten Anfragen wie: - nachvollziehen von Inter-Objekt-Beziehungen - Aufrufen von Methoden aus einer Anfrage heraus - ... möglich. Problematisch ist nun noch: Anfrage und Auswertung von unscharfen Kriterien. Lösung mittels ‚Graded Sets‘, die die Treffergenauigkeit angeben. d.h. Vergabe eines Wertes zwischen 0 und 1, wobei 1 einen exakten Treffer meint. Damit ist auch die Möglichkeit eines Rankings gegeben. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Anfragen: ein Beispiel realisiert mit dem Image Management System QBIC Wir suchen alle Bilder, wo im Vordergrund ein rundes, rotes Objekt ist und der Hintergrund grün ist: Modellierung mit dem Query/Browser: Liefert folgende Ausgabemenge: © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Anfrageverarbeitung Welche Kampagne? Welche Firma? - was suche ich? Welche Kampagne? Welche Firma? Es war eine Strandszene, sie wurde vor 5 Jahren gemacht und hat € 250.000,- gekostet. QBIC DM RD Image Management Document Relational System Management Database © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

 &  The Project Gottseidank verwenden wir Garlic... Garlic Schema select from where , , Garlic Schema  &  Middleware ein SQL-Statement könnte so aussehen: Wrapper Wrapper Wrapper select C.campaign_name, C.report, C.mag_ads from Campaign C, C.mag_ads A where (C.report.date > ´1989´) and A.match_image(SKETCH)>0.5 Image Management Document Relational System Management Database © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

 Wrapper muss leicht und schnell zu schreiben sein The Project Ziele der Wrapper - Komponenten Architektur:  Wrapper muss leicht und schnell zu schreiben sein  Wrapper muss evolutionär entwickelbar sein  Wrapperarchitektur muss das Wachsen des Systems ermöglichen  Wrapperarchitektur muss die Queryoptimierung enthalten © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Welche Dienste erbringt nun aber der Wrapper? © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Abbildung des Inhalts einer Datenquelle als Objekte  damit wird es Garlic möglich auf die Daten Bezug zu nehmen. relationale Datenbank: Stadt Name Einw BL Halle 250T SA Jena 150T TH beschrieben in der GDL: interface Stadt { attribute string name; attribute long Einw; attribute string BL; } © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Aufrufen von Methoden auf Objekte (um deren Attributwerte zu erhalten)  ganz wichtig bei Datenquellen die kaum oder gar keine Anfragemöglichkeiten unterstützen (z.B.: Dateisysteme) generic dispatch - Schemaunabhängig - Methodenname wird als Parameter übergeben get_Einwohner (OID [z.B. für Halle]) select Einwohner from Stadt where name = <OID> z.B.: „Halle“ © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Anfrageplanung: 08.04.2017 The Project Anfrageplanung: Ziel: Entwickle alle alternativen Pläne zur Beantwortung einer Anfrage und wähle dann die effizienteste davon aus. Der Optimierer in der Garlic Middleware verwendet STARs [Strategy Alternative Rules] um die möglichen Pläne zu beschreiben. In jeder Planungsphase wird das längste Anfragefragment für jede tangierende Datenquelle an den Wrapper geschickt und dieser gibt entweder NULL oder alle möglichen Pläne die die Aufgaben des Fragments implementieren. Die Entwicklung der Pläne erfolgt dabei iterativ. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg  © 2001 Monika Mustermann, MLU Halle-Wittenberg

The Project Anfrageplanung: Wie sehr der Wrapper bei der Planung ein- select S.Name from Stadt S where S.Einw=100.000 Wie sehr der Wrapper bei der Planung ein- bezogen wird obliegt dem Optimizer: Aufruf über Methoden: - plan_access () - plan_join () ... Garlic Optimizer Wrapper Access Plan for Stadt Work Request Properties Project: S.OID, S.Name, S.Einw Preds: S.Einw=100.000 Project: S.OID, S.Name, S.Einw Preds: S.Einw=100.000 Cost:<access cost> Plan Details (private) Wrapper Relational Database © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Garlic Execution Engine The Project Anfrageausführung: Garlic Execution Engine translate () Wrapper_Plan::translate () © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Wrapper existieren u.a. schon für: Ein relationaler Wrapper kommt mit Garlic im Packet, da wohl die meisten Legacy-Daten in relationalen Datenbanken abgelegt sind. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Angewand wird die Garlic Technologie von IBM unter dem Namen DiscoveryLink. IBM DJ basiert auf der selben Philosophie wie Garlic, verwendet jedoch nicht die Garlic Technologie. Was dem DJ dahingehend fehlt ist die Erweiterung auf Nicht-Relationale Datenquellen. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Trotzdem ist der DJ sehr leistungsfähig, so ist folgende Anfrage denkbar: „Gib mir alle Haushalte mit einem jährlichen Einkommen über € 40.000,- die in einem Umkreis von 10km um meinen Laden sind!“ © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

The Project Damit bleibt hoffentlich nur noch eine Frage offen: Was heißt Garlic? “[…] Well, the short answer to your first question is that the name is Garlic because I like Garlic and I don't like acronyms :-) . But it turns out to be a great name for many reasons, not least of which is that no one ever forgets it. And anyone with good taste likes Garlic! [...]“ Laura M. Haas Mgr, DB2 Query Compiler and Life Sciences Developement © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Teil 3: Datenintegration ... ... umfasst 2 Teilprobleme: Die Integration von bestimmten Datenobjekten in ein DBS und Welche Möglichkeiten bestehen externe Daten (Dateien) unter die Kontrolle des DBS zu stellen © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Integration Datenobjekte (1) Daten sind unstrukturiert bzw. semi-strukturiert: Audiodaten Videodaten Bilder Texte Daten entsprechen keinem festem Schema, dadurch existieren keine durch ein DV-System verarbeitbaren Schemainformationen Keine strukturierte Speicherung in DB möglich Daten ermöglichen keine Begrenzung einer Abfrage © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Integration Datenobjekte (2) Metadaten Audiodaten Videodaten Bilder Texte Informationen über die Art der gespeicherten Daten + Allgemeine: Datentyp, Erstellungsdatum, Inhaltsangaben, ... Datentypabhängige: Bilder: Format, Anzahl der Farben, ... = Ermöglichen effektive Suche © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Unterstützung durch DBS Der Umgang mit solchen Datenobjekten wird von objektrelationalen Datenbanksystemen unterstützt. Erweiterung um neue Mechanismen entsprechend der Rohdaten: InterMedia bzw. InterMedia Text sog. Extender © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

IBM – Extender (1) Extender werden mit der IBM Datenbank DB2 vertrieben Definieren Datentypen und Methoden für die zu speichernden Daten es existieren: Audio - Extender Video - Extender Image - Extender Text - Extender XML - Extender DB2 Spatial - Extender OANDA Currency - Extender ... © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

DB2IMAGE Bilder DB2AUDIO Audio DB2VIDEO Video IBM – Extender (2) Audio-, Video- und Bild-Daten werden intern als BLOB gespeichert, Text-Daten als CLOB um die verschiedenen Datenarten verwalten zu können, werden spezielle Datentypen definiert: DB2IMAGE Bilder DB2AUDIO Audio DB2VIDEO Video © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

IBM – Extender (3) Automatisches Erzeugen bzw. Verwalten von Metadaten bei der Speicherung Zu jedem Datentyp sind bestimmte Methoden definiert, z.B.: DB2IMAGE: Thumbnail, Height, Width, Format DB2-Text-Extender: bestimmter Text, Synonyme, Suchbegriffe in Nähe Es existieren z.B. auch Funktionen zum Konvertieren von Datenformaten, Abspielen von Multimediadaten, ... Definition von eigenen Methoden möglich © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Ein Beispiel (1) Anita Jones Assistant ENABLE DATABASE FOR DB2IMAGE CREATE TABLE employee ( id char(6), name varchar(40), picture DB2IMAGE); Anita Jones Assistant ENABLE TABLE employee FOR DB2IMAGE; ENABLE COLUMN employee picture FOR DB2IMAGE; EXEC SQL INSERT INTO employee VALUES( '128557', 'Anita Jones', DB2IMAGE( CURRENT SERVER, /*database server name*/ '/employee/images/ajones.bmp', /*image source file*/ 'ASIS', /*keep the image format*/ :MMDB_STORAGE_TYPE_INTERNAL, /*store image in DB as BLOB*/ 'Anita''s picture')); /*comment*/ © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Ein Beispiel (2) ENABLE COLUMN ENABLE TABLE CREATE employee EXEC SQL INSERT INTO employee VALUES © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Möglichkeiten der Datenspeicherung (1) Metadaten (Roh-)Daten der Anwender übernimmt: Konsistenzsicherung Verwaltung der Daten Datei- System DBS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Möglichkeiten der Datenspeicherung (2) Metadaten (Roh-)Daten Interne Speicherung: Alle Daten werden vom DBS verwaltet Datei- System DBS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Möglichkeiten der Datenspeicherung (3) Metadaten (Roh-)Daten Externe Speicherung: DBS verwaltet Metadaten und Verweise auf Rohdaten im Dateisystem Konsistenzsicherung?! Datei- System DBS IBM DB2 Data Links © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

IBM - Data Links (1) Technologie um Daten, die im Dateisystem des OS gespeichert sind, verwalten zu können Kontrolle des DBS über folgende Bereiche: Referentielle Integrität (kein löschen oder umbenennen) Zugriffskontrolle (Anwendung der DB2 – Benutzerverwaltung) Koordiniertes backup und recovery (optional) Transaktionskontrolle (logische Integrität, Konsistenz der Daten) © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

IBM – Data Links (2) besteht aus 3 Komponenten: Data Links Manager (DLM) Data Links File Manager (DLFM) Data Links File Filter (DLFF) © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

DB2 Data Links Manager (1) Basis-Datentyp: DATALINK Eine DATALINK-Spalte beinhaltet die Verweise auf die Daten in Form einer URL Bei einem CREATE TABLE werden bei der Definition einer DATALINK-Spalte verschiedene Optionen eingestellt: Dateizugriffsrechte, Recovery-Unterstützung, ... Des weiteren werden verschiedene Funktionen zur Verfügung gestellt, z.B. den Server-Namen aus der URL auszulesen. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

DB2 Data Links Manager (2) Beispiel: CREATE TABLE PRODUCT ( PRODUCT_ID CHAR(8), PRODUCT_NAME VARCHAR(150), ... PRODUCT_AVI DATALINK (200) LINKTYPE URL FILE LINK CONTROL INTEGRITY ALL READ PERMISSION FS WRITE PERMISSION BLOCKED RECOVERY YES ON UNLINK RESTORE) © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

DB2 Data Links File Manager eine Softwarekomponente DB2 Data Links File Manager, wird auf dem entsprechenden Datei-Server ausgeführt Die DLFM-Komponente dient als Interface zum Datenbank-Server Dient der Kommunikation, erhält die anlegen/löschen Befehle Verwaltet eine Liste mit den zu kontrollierenden Dateien Interaktion bei Backup/Recovery zw. DLFM und DBMS © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

DB2 Data Links File Filter Data Links File Filter läuft ebenfalls auf dem File-Server Stellt sicher, das nur die Zugriffe auf Dateien geschehen, die in der DB definiert sind. Der DLFF sorgt für eine Unterbrechung von bestimmten Dateisystemaufrufen wie Datei öffnen, schließen, umbenennen Er ist so angelegt, dass er möglichst wenig in Konflikt mit bestehenden Anwendungen gerät. Implementierung ist stark an das entsprechende OS gebunden, Plattform-Unabhängigkeit wird über die API erreicht. © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

IBM Data Links - Architektur Client - Anwendung Standard - Dateizugriff Direkte Datenübertragung DLFM File Server Dateien DLFF SQL Daten / URL Kontrolle externer Dateien DLFM API DLM DB2 Datenbank Server Daten © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Vorteile Anwendungsperformance: Durch die Nähe zur Anwendung Datei-Zugriff über Dateisystem, nicht über DBMS Keine Änderungen an bestehenden Applikationen Unterstützung für verschiedene Dateisysteme unter UNIX oder Windows NT © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg

Zusammenfassung DB-Middleware & komponentenbasierte DB-Technologie Integrationsansätze Universal Storage Universal Access Garlic Wrapper-basierte Ansatz Definiert eine Middleware, die einen einheitlichen Zugriff auf heterogene Daten ermöglicht Integration von Datenobjekten ORDBMS ermöglichen eine effektive Verwaltung von unstrukturierten bzw. semi-strukturierten Daten durch: spez. Datentypen, Methoden, ... Beispiel: IBM DB2 Extender Möglichkeit zur Kontrolle für in Dateisystemen gespeicherte Daten IBM Data Links © 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg