Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie...

65
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

Transcript of Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie...

Page 1: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Page 2: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 3: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Datenbank-Middleware

Wünschenswert wäre:

• Zugriff auf /Integration von Daten

• Plattformunabhängige Interoperabilität

• Erweitertes Transaktionskonzept

• Datenbank nur eine Komponente unter vielen

Page 4: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Komponentenorientierung

DBMS

DBS

Erweiterung Erweiterung

Erweiterung

Erweiterung

Erweiterung

Erweiterung

Page 5: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Überblick – Architekturen

• Plug-in

• Database-Middleware

• DBMS Services

• Configurable DBMS

Page 6: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Plug-in

• Universal Server

• Was Server selbst nicht kann kommt von aussen

DBMS

DBS

Page 7: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Erweiterungsmöglichkeiten (1)

Erweiterungsmöglichkeiten

• Typen

• Funktionen

• Indexstrukturen

Page 8: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 9: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 10: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

DBS

Page 11: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

DBMS Services

• Aufspaltung einer Datenbank in ihre Dienste

(Datenhaltung, Suchen, Transaktionskontrolle)

• einige/alle Dienste der Datenbank können

ausgelagert werden

Anwendung

Platform

Page 12: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Configurable DBMS

• Neue Services können integriert werden

D

DBS

B M S

Page 13: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Ansätze

• Universal Storage

• Universal Access

Page 14: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 15: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 16: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Universal Access

➔ Wrapper basierte Ansätze

OLE DB Garlic / Data Joiner

Page 17: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

OLE DB

➔ Object linking and embedding

➔ Umsetzung von Microsofts Universal Data

Access – Strategie

➔ UDA selbst ist eine Komponenten-Architektur

Page 18: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

UDA – Architektur

CO

M/

DC

OM

Mic

roso

ft T

ran

sact

ion

Serv

er

Application

ActiveX Data Objects

OLE DB

OLE DB

OLAP RDBMS ISAMSPATIAL

EMAIL

Cursorengin

Distributedquery engine

Relationalquery engine

Consumers

Services

DataProviders

Page 19: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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++

Page 20: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project

Page 21: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Ein kleines Beispiel...

Page 22: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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 viaGarlic soll so die Integration von heterogenen Datenquellen via

einer mächtigen Middleware ermöglichen!einer mächtigen Middleware ermöglichen!

Page 23: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

Page 24: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

Data Repositories

Sind die heterogenenDatenquellen, die inte-griert werden sollen.

Können verschiedenar-tigst sein:

- relationale DB - objektorient. DB - Dokumentenma- nagement System - Dateisystem - ...

und auch die Anzahl istnicht begrenzt.

Page 25: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

Wrappers

Die Wrapper über-setzen Informationen über die Datentypen, den Datenzugriff und die Datenmanipula-tionsanfragen zwischender Garlic Middlewareund den darunter liegenden Datenquellen

Page 26: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

Metadata Repository

Das Metadata Repository verwaltetInformationen überdas sich nach oben hin präsentierende Garlic –Schema sowie Infor-mationen zur Über-setzung für die Wrapper.

Page 27: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

Middleware

Das Garlic Query Services and RuntimeSystem stellt das ein-heitliche Schema zumBenutzer hin, ist fürdie Anfrageverar-beitung (d.h. das zer-teilen einer Query und das Zusammenfügen)verantwortlich.

Page 28: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Die Architektur:

User Interfaces

Die C++ API bietet eine statische Schnitt-stelle für SQL-Queriesaus Anwendungspro-grammen heraus an.

Der Query/Browser ermöglicht eine Suche mittels einer benutzer-freundlichen, graphi-schen Benutzerober-fläche.

Page 29: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Das Garlic Datenmodell

Die Daten in Garlic werden durch ein vereinheitlichtes Schemadem Benutzer geboten und durch ein objektorientiertes Datenmodell ausgedrückt.

Object Model Garlic Data Model

Object Definition Language [ODL] Garlic Data Language [GDL]

ODMG-93 Garlic

Veränderungen &

Erweiterungen

Page 30: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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.

Page 31: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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:

Page 32: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Anfrageverarbeitung

- was suche ich?

Image Management Document Relational System Management Database

QBIC DM RD

Welche Kampagne? Welche Firma? Es war eine Strandszene, sie wurde vor 5 Jahren gemacht und hat € 250.000,- gekostet.

Page 33: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Image Management Document Relational System Management Database

select from

where , ,

Gottseidank verwenden wir Garlic...The Project

Garlic Schema

& Middleware

Wrapper Wrapper Wrapper

ein SQL-Statement könnte so aussehen:

select C.campaign_name, C.report, C.mag_adsfrom Campaign C, C.mag_ads Awhere (C.report.date > ´1989´) and

A.match_image(SKETCH)>0.5

Page 34: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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

Page 35: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Welche Dienste erbringt nun aber der Wrapper?

The Project

Page 36: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project

Abbildung des Inhalts einer Datenquelle als Objekte

damit wird es Garlic möglich auf die Daten Bezug zunehmen.

Stadt Name Einw BL

Halle 250T SA

Jena 150T TH

relationale Datenbank:

beschrieben in der GDL:

interface Stadt { attribute string name; attribute long Einw; attribute string BL;

}

Page 37: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project

Aufrufen von Methoden auf Objekte (um deren Attributwerte zu erhalten)

ganz wichtig bei Datenquellen die kaum oder gar keineAnfragemöglichkeiten unterstützen (z.B.: Dateisysteme)

generic dispatch - Schemaunabhängig - Methodenname wird als Parameter übergeben

get_Einwohner (OID [z.B. für Halle])

select Einwohnerfrom Stadtwhere name = <OID> z.B.: „Halle“

Page 38: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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.

Page 39: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Anfrageplanung:

Relational Database

Wrapper

Garlic Optimizer

select S.Namefrom Stadt Swhere S.Einw=100.000

Work Request

Project: S.OID, S.Name, S.EinwPreds: S.Einw=100.000

Wrapper Access Plan for Stadt

Properties

Project: S.OID, S.Name, S.EinwPreds: S.Einw=100.000

Cost:<access cost>

Plan Details (private)

Wie sehr der Wrapperbei der Planung ein-bezogen wird obliegtdem Optimizer:

Aufruf über Methoden:

- plan_access ()

- plan_join ()

...

Page 40: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project Anfrageausführung:

Wrapper_Plan::translate Wrapper_Plan::translate ()()

translate ()

Garlic Execution Engine

Page 41: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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.

Page 42: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

The Project

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-RelationaleDatenquellen.

Angewand wird die Garlic Technologie von IBM unter dem Namen DiscoveryLink.

Page 43: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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!“

Page 44: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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. HaasMgr, DB2 Query Compiler and Life Sciences Developement

The Project

Page 45: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Teil 3: Datenintegration ...

... umfasst 2 Teilprobleme:

1. Die Integration von bestimmten Datenobjekten in

ein DBS und

2. Welche Möglichkeiten bestehen externe Daten

(Dateien) unter die Kontrolle des DBS zu stellen

Page 46: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Integration Datenobjekte (1)

Audiodaten

Videodaten

Bilder

Texte

Daten sind unstrukturiert bzw.semi-strukturiert:

• Daten entsprechen keinem festemSchema, dadurch existieren keinedurch ein DV-System verarbeitbarenSchemainformationen

• Keine strukturierte Speicherungin DB möglich

• Daten ermöglichen keine Begrenzungeiner Abfrage

Page 47: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Integration Datenobjekte (2)

+

Metadaten

• Informationen über die Artder gespeicherten Daten

• Allgemeine:Datentyp, Erstellungsdatum,Inhaltsangaben, ...

• Datentypabhängige:Bilder: Format, Anzahl der Farben, ...

=Ermöglichen effektive Suche

Audiodaten

Videodaten

Bilder

Texte

Page 48: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Unterstützung durch DBS

• Der Umgang mit solchen Datenobjekten wird vonobjektrelationalen Datenbanksystemen unterstützt.

• Erweiterung um neue Mechanismen entsprechendder Rohdaten:

sog. Extender

InterMediabzw. InterMedia Text

Page 49: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM – Extender (1)

• Definieren Datentypen und Methoden für diezu speichernden Daten

• es existieren:• Audio - Extender• Video - Extender• Image - Extender• Text - Extender• XML - Extender

• Extender werden mit der IBM Datenbank DB2 vertrieben

• DB2 Spatial - Extender• OANDA Currency - Extender• ...

Page 50: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM – Extender (2)

• Audio-, Video- und Bild-Daten werden intern als BLOBgespeichert, Text-Daten als CLOB

• um die verschiedenen Datenarten verwalten zu können,werden spezielle Datentypen definiert:

DB2IMAGE BilderDB2AUDIO AudioDB2VIDEO Video

Page 51: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM – Extender (3)

• Automatisches Erzeugen bzw. Verwalten von Metadatenbei 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 Konvertierenvon Datenformaten, Abspielen von Multimediadaten, ...

• Definition von eigenen Methoden möglich

Page 52: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Ein Beispiel (1)

Anita JonesAssistant

ENABLE DATABASE FOR DB2IMAGE

CREATE TABLE employee ( id char(6), name varchar(40), picture DB2IMAGE);

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*/

Page 53: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Ein Beispiel (2)ENABLE COLUMN

ENABLE TABLECREATE employee

EXEC SQL INSERT INTO employee VALUES

Page 54: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Möglichkeiten der Datenspeicherung (1)

Metadaten (Roh-)Daten

DBS Datei-System

der Anwender übernimmt:• Konsistenzsicherung• Verwaltung der Daten

Page 55: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Möglichkeiten der Datenspeicherung (2)

Metadaten (Roh-)Daten

DBS Datei-System

Interne Speicherung:Alle Daten werden vom DBS verwaltet

Page 56: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

Möglichkeiten der Datenspeicherung (3)

Metadaten (Roh-)Daten

DBS Datei-System

Externe Speicherung:• DBS verwaltet Metadaten und Verweiseauf Rohdaten im Dateisystem• Konsistenzsicherung?!

IBM DB2 Data Links

Page 57: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM - Data Links (1)

• Technologie um Daten, die im Dateisystem des OSgespeichert sind, verwalten zu können

• Kontrolle des DBS über folgende Bereiche:• Referentielle Integrität (kein löschen oder umbenennen)• Zugriffskontrolle (Anwendung derDB2 – Benutzerverwaltung)• Koordiniertes backup und recovery (optional) • Transaktionskontrolle (logische Integrität,Konsistenz der Daten)

Page 58: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM – Data Links (2)

besteht aus 3 Komponenten:

• Data Links Manager (DLM)

• Data Links File Manager (DLFM)

• Data Links File Filter (DLFF)

Page 59: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

DB2 Data Links Manager (1)

• Basis-Datentyp: DATALINK

• Eine DATALINK-Spalte beinhaltet die Verweise aufdie Daten in Form einer URL

• Bei einem CREATE TABLE werden bei der Definitioneiner DATALINK-Spalte verschiedene Optionen eingestellt:Dateizugriffsrechte, Recovery-Unterstützung, ...

• Des weiteren werden verschiedene Funktionen zurVerfügung gestellt, z.B. den Server-Namen aus derURL auszulesen.

Page 60: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

DB2 Data Links Manager (2)

Beispiel:

CREATE TABLE PRODUCT ( PRODUCT_ID CHAR(8),

PRODUCT_NAME VARCHAR(150),...PRODUCT_AVI DATALINK (200)

LINKTYPE URLFILE LINK CONTROLINTEGRITY ALLREAD PERMISSION FSWRITE PERMISSION BLOCKEDRECOVERY YESON UNLINK RESTORE)

Page 61: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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 zumDatenbank-Server

• Dient der Kommunikation, erhält die anlegen/löschenBefehle

• Verwaltet eine Liste mit den zu kontrollierenden Dateien

• Interaktion bei Backup/Recovery zw. DLFM und DBMS

Page 62: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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 bestimmtenDateisystemaufrufen wie Datei öffnen, schließen, umbenennen

• Er ist so angelegt, dass er möglichst wenig in Konflikt mitbestehenden Anwendungen gerät.

• Implementierung ist stark an das entsprechende OSgebunden, Plattform-Unabhängigkeit wird über die APIerreicht.

Page 63: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

IBM Data Links - ArchitekturClient - Anwendung

SQLDaten /

URL

Standard - Dateizugriff

DirekteDatenübertragung

DLM

DB2 Datenbank Server

Daten

DLFM

File Server

Dateien

DLFF

Kontrolle externer DateienDLFM API

Page 64: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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 UNIXoder Windows NT

Page 65: Aufbau Integrierter Informationssysteme Datenbank-Middleware und komponentenbasierte DB-Technologie Thomas Faust, Andreas Linke, Steffen Schäfer Martin-Luther-Universität.

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

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