Upload
engelram-geisen
View
106
Download
0
Embed Size (px)
Citation preview
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
© 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
© 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
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 4
Komponentenorientierung
DBMS
DBS
Erweiterung Erweiterung
Erweiterung
Erweiterung
Erweiterung
Erweiterung
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 5
Überblick – Architekturen
• Plug-in
• Database-Middleware
• DBMS Services
• Configurable DBMS
© 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
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 7
Erweiterungsmöglichkeiten (1)
Erweiterungsmöglichkeiten
• Typen
• Funktionen
• Indexstrukturen
© 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
© 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
© 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
© 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
© 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
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 13
Ansätze
• Universal Storage
• Universal Access
© 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
© 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
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 16
Universal Access
➔ Wrapper basierte Ansätze
OLE DB Garlic / Data Joiner
© 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
© 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
Cursorengin
Distributedquery engine
Relationalquery engine
Consumers
Services
DataProviders
© 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++
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 20
The Project
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 21
The Project Ein kleines Beispiel...
© 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!
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 23
The Project Die Architektur:
© 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.
© 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
© 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.
© 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.
© 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.
© 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
© 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.
© 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:
© 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.
© 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
© 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
© 2002 Thomas Faust, Andreas Linke, Steffen Schäfer; MLU Halle-Wittenberg 35
Welche Dienste erbringt nun aber der Wrapper?
The Project
© 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;
}
© 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“
© 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.
© 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 ()
...
© 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
© 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.
© 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.
© 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!“
© 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
© 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
© 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
© 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
© 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
© 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• ...
© 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
© 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
© 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*/
© 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
© 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
© 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
© 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
© 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)
© 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)
© 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.
© 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)
© 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
© 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.
© 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
© 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
© 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