Datenbanktechnologie im Umbruch: - Alumni Informatik Universität

Werbung
Datenbanktechnologie im Umbruch:
neue Anforderungen — neue Funktionalität
— neue Architekturen
Klaus R. Dittrich
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
IFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIIFIFIIFIIFI
Institut für Informatik
der Universität Zürich
Forschungsbereich
Datenbanktechnologie
Winterthurerstrasse 190, CH-8057 Zürich
e-mail: [email protected], http://www.ifi.unizh.ch
Tel.: ++41-1-257 4312, Fax: ++41-1-363 0035
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
1
Datenbanktechnologie im Umbruch
neue
Anforderungen
neue
Funktionalität
neue
Architekturen
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
2
Inhalt
■
Datenbanken und Objekte
— objektorientierte und objektrelationale Datenbanksysteme
■
aktive Datenbanken
■
Informationsgewinnung aus Datenbanken
— OLAP, data mining, data warehouse
■
verteilte, föderierte, interoperable Datenbanksysteme
■
Datenbanken und das Internet/Intranet/Extranet
■
DBMS-Architektur der Zukunft: Monolith oder was sonst ?
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
3
Datenbank
eine Menge
zusammengehörender Daten mit folgenden Eigenschaften:
■
dauerhaft verfügbar (d.h. explizit steuerbare Lebensdauer)
■
potentiell gross
■
integriert
(über mehrere Anwendungen mit überlappendem Informationsbedarf; redundanzarm)
■
verwendbar unabhängig vom Erzeugungsprogramm
(Datenunabhängigkeit: wechselseitige Änderungsimmunität AWP – DB)
■
mehrfachbenutzbar (“parallel zugreifbar”)
■
konsistent, integer, sicher (“Datenqualität”)
■
bequem, flexibel und effizient handhabbar (“assoziativer Zugriff”)
■
(evtl.) verteilt im Rechnernetz (––> “Transparenz”)
Datenbanktechnologie
Gesamtheit der Konzepte, Methoden, Systeme und Werkzeuge
für die Organisation und den Betrieb von Datenbanken
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
4
Datenbankverwaltungssystem
(database management system; DBMS)
Software zur Verwaltung von Datenbanken mit den genannten Eigenschaften
realisiert u.a.:
■ ein Datenmodell: konzeptueller Rahmen zur logischen Datenorganisation
Mittel zur Strukturierung/Beschreibung der Daten
(“Datendefinition”/DDL ––> Schema, Sichten)
■ Mittel für Datenzugriff und Datenmanipulation: DB-Operatoren (DML)
Anfragesprache
■ Steuerung und Überwachung: Transaktionsmodell (inkl. Wiederanlauf, Synchronisation)
Konsistenzsicherung
Trigger
Zugriffsschutz
Datensicherung und Archivierung
Hintergrundspeicherverwaltung (Zugriffspfade etc.)
Verteilung im Rechnernetz (z. B. Client/Server-Architektur)
...
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
5
die heutige Situation
■
relationale DBMS “Stand der Kunst”:
reife Technologie mit 25 Jahren Erfahrung, bestens eingeführt,
zahlreiche Produkte und zahllose DB im erfolgreichen Einsatz
(... und trotzdem werden auch noch ältere Systemarten verwendet)
aber:
■
Grenzen relationaler DBMS bei “nonstandard”-Anforderungen
■
Verlangen nach umfassenderer Nutzung umfangreicher (vorhandener) Datenbestände
■
neue DB-Anforderungen durch neue Systemumgebungen
(Verteilung, Zusammenführung vormaliger Einzelsysteme, Internet, ...)
■
neue technologische Möglichkeiten (Multimedia, ...)
■
neue Konzepte verfügbar (Objektorientierung, ...)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
6
■
Datenbanken und Objekte
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
7
Konzepte objektorientierter Systeme
betrachte und modelliere die reale Welt als eine Kollektion von (kooperierenden, untereinander in Beziehung stehenden) wohlunterscheidbaren Einheiten: OBJEKTE
■ Abstraktion und Autonomie:
––>
Objekt:
<Wert, {Operatoren}>
Wert:
Datenstruktur
Einkapselung (Geheimnisprinzip)
Anforderung von Leistungen anderer Objekte
■ Klassifikation:
––>
gemeinsame Beschreibung (Intension)/
Zusammenfassung gleichartiger
Objekte (Extension; "Klasse")
■ Taxonomie:
––>
Ober-/Unterklassen
Vererbung von Eigenschaften
Polymorphismus
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
8
objektorientierte Modellierung
akzeptierbare Botschaft
(Operatorschnittstelle)
Zustand (Wert)
Methode
(Operatorrumpf)
"Objekt"
■ anwendungsgerechte Einheiten
■ anwendungsgerechte
("höherwertige") Operatoren
■ Aufgabenteilung (Kooperation)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
9
Klassen (“Typen”)
Klasse
(a)
Muster für gleichartige Objekte
(Beschreibung der gemeinsamen
Eigenschaften)
(b)
Menge der (jeweils) vorhandenen
gleichartigen Objekte
Objekte
der Klasse
Extension der Klasse
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
10
Taxonomie / Klassenhierarchie / Vererbung
Fahrzeuge
Velos
Tourenräder
Automobile
Personenwagen
Rennräder
Lastwagen
Mountain Bikes
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
11
Vorteile objektorientierter Modellierung
■ "Natürlichkeit" (zumindest vergleichsweise)
— sinnvolle Abstraktion/hohe Modularität
— Beherrschung von Komplexität
— Trennung Schnittstelle/Implementation
■ evolutionäre Systemkonstruktion
("inkrementelles Programmieren"; "Wiederverwendbarkeit")
dies sind zunächst potentielle Vorteile:
— sie fallen nicht "automatisch" an
— sie setzen das Verstehen und die sachgerechte Anwendung der Technik voraus
— sie erfordern teilweise unterstützende Techniken (z.B. für Auffinden von Klassen)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
12
objektorientiertes Datenbanksystem
::= Datenbanksystem mit objektorientiertem Datenmodell, d. h.
■
Datenbank
■
Objektidentität
■
Einkapselung
■
komplexe Werte, Objektstrukturen, komplexe Objekte
■
Klassenhierarchien (Vererbung)
mit Überladen/Überschreiben/später Bindung
::=
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Menge von Objekten, die von Klassen
(im Schema definiert) abstammen
13
Objektstruktur
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
14
zusammengesetzte Objekte
(komplexe, strukturierte, molekulare, ... Objekte)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
15
zusätzliche Eigenschaften OODM/OODBMS
■
explizite Beziehungen
■
BLOBs (binary large objects)
■
Objektversionen
■
Schemaevolution
■
Trigger-Mechanismen
■
erweiterte Transaktionskonzepte
■
enge Integration mit (OO-) Progammiersprachen im Rahmen
gemeinsamer Benennungs- und Persistenzmodelle
■
...
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
16
allgemeine funktionale Architektur von OODBMS
ODL
OQL
PL
(C++)
PL
(Smalltalk)
PL
(Java)
•••
Datenbank”maschine”
Datenbank
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
17
Arbeitsweisen mit OODBMS
■
voll integriertes Arbeiten mit einer ooPL (C++, Smalltalk, Java ...) als
“Datenbankprogrammiersprache”: Datenmanipulation und Datendefinition (!!!);
navigierende Verwendung der DB
■
(ad hoc) Anfragebearbeitung mit OQL
(deskriptiv, optimierbar, z. Zt. ausschliesslich für Anfragen vorgesehen)
■
Einbettung von OQL in die integrierte ooPL
(ermöglicht dort die Ausnutzung der Vorteile einer Anfragesprache)
■
Einbettung von OQL in konventionelle PL (analog “embedded SQL”)
■
separate Datendefinition mit ODL
(nur damit ist Datenintegration, Datenadministration etc. vernünftig möglich !!)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
18
einfaches Anwendungsbeispiel
Angestellter
A#
Name
Tel
Gehalt
Bild
Abteilung
AName
U_Ziel
ltd_Angestellter
Titel
Bonus
Tel:
Menge von Paaren wie
(Büro, 257 4312),
(Mobil, 696 7354),
(Fax, 363 0035)
Bild: gerastertes Foto
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
19
Beispiel ODMG ‘93: ODL
interface ANGESTELLTER
(
extent ANGESTELLTE;
key A# ): persistent
{
typedef Struct Telnum {String A_Art, Unsigned Long Nummer};
attribute Unsigned Short A#;
attribute String Name;
attribute Set <Telnum> Tel;
attribute Unsigned Long Gehalt;
relationship ABTEILUNG arbeitet_in inverse ABTEILUNG :: hat_Mitarbeiter;
void Bild ();
...
}
interface LTD_ ANGESTELLTER: ANGESTELLTER
(
extent LTD_ ANGESTELLTE)
{
attribute String Titel;
attribute Unsigned Long Bonus;
relationship ABTEILUNG leitet inverse ABTEILUNG :: geleitet_von;
...
}
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
20
Beispiel ODMG ‘93: ODL
interface ABTEILUNG
(
extent ABTEILUNGEN;
key AName ): persistent
{
attribute String AName;
attribute Unsigned Long U_Ziel;
relationship set <ANGESTELLTER> hat_Mitarbeiter
inverse ANGESTELLTER :: arbeitet_in;
relationship LTD_ANGESTELLTER geleitet_von
inverse LTD_ANGESTELLTER :: leitet;
...
}
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
21
Beispiel ODMG ‘93: OQL
select ANG.Name
from ANGESTELLTE ANG
where ANG.Gehalt >= 30000
select struct (N: ANG.Name, T: ANG.Tel)
from ANGESTELLTE ANG
where ANG.Gehalt < 150 000
select struct (N: L_ANG.Name, G: L_ANG.Gehalt)
from LTD_ANGESTELLTE L_ANG
select struct (N: L_ANG.Name, A: ABT.AName)
from ABTEILUNGEN ABT, ABT.geleitet_von L_ANG
where ABT.U_Ziel ≥ 3 000 000
select ANG.Bild
from ANGESTELLTE ANG
where ANG.Gehalt >= 30000
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
22
objektrelationale DBMS
Erweiterung des relationalen Datenmodells um OO-Konzepte
bzw. Kombination beider Ansätze
also:
Beibehalt der bisherigen (bewährten!) Konzepte von RDBMS
——> Datenbank ist weiterhin eine Menge von Relationen !
heutiger Stand:
■
viele Schlagworte ( “ORDBMS”, “postrelationale DBMS”, “Universal Server”,
“Data Blades”, “Data Cartridges”, “Extenders”, ...)
■
viel Werberummel (mit entsprechendem Nebelwerfen ...)
■
allgemein anerkannte Definition ???
(konsolidiertes Konzept ? — Standard (SQL 3) ? — spezielles Produkt ?)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
23
objektrelationale DBMS: spezielle Konzepte
■
Anfrage-Code als DB-Inhalt (“stored procedures”)
■
lange Felder
■
Tupelidentifikatoren
■
Tupeltypen separat von Relationsdefinitionen
■
komplexe Strukturen (geschachtelte Relationen und mehr)
■
benutzerdefinierbare (“abstrakte”) Datentypen
(mit Kapselung, teilweise mit definierbaren Zugriffspfaden etc.)
■
Vererbung (mehrere Formen)
“Neubau” solcher Systeme vs. Erweiterung existierender DBMS ???
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
24
ORDBMS: ADTs
■
benutzerdefinierbare Datentypen
■
können wie Standarddatentypen für die Definition von Attributen verwendet werden
■
Einkapselung, Vererbung, ...
create type Foto
( <Festlegung der internen Repräsentation>
<Definition der erforderlichen Vergleichsoperationen>
<Definition der Konstruktorfunktion>
<Definition der eigentlichen Typoperationen>
z.B. actor procedure zeige_Foto (<Parameter>);
begin
<Operatorrumpf>
end
)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
25
ORDBMS: komplexe Objekte, Objektidentifikatoren, Vererbung, ...
■
Trennung von Tupeltypdefinition und Relationsdefinition
■
Kollektionstypen (Mengen, Listen, ...)
———> dadurch Substrukturen in Relationen möglich (z.B. Schachtelung)
■
OID-Vergabe kann verlangt werden (je Tupel)
■
Referenztyp (Verweise auf Tupel als Attributwerte)
———> dadurch komplexe Objekte/Objektstrukturen
zusammen: gewisse Arten von Objekten “in zwei Dimensionen”
(ADTs in Spalten, erweiterte Tupel – evtl. zusammen
mit “stored prodecures” – in Zeilen)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
26
Beispiel ORDBMS
create row type TELNUM_TYP (
A_Art
Character (15),
Nummer
Integer);
create row type ANG_TYP (
ANG_ID
ref (ANG_TYP),
A#
Integer,
Name
Character Varying (30),
Tel
set (TELNUM_TYP),
Gehalt
Integer,
Bild
Foto,
arbeitet_in
ref (ABT_TYP) );
create row type LTD_ANG_TYP under ANG_TYP (
Titel
Character (15),
Bonus
Integer
leitet
ref (ABT_TYP) );
create row type ABT_TYP (
ABT_ID
ref (ABT_TYP),
AName
Character Varying (30),
U_Ziel
Integer,
hat_Mitarbeiter set(ref (ANG_TYP)
geleitet_von
ref (LTD_ANG_TYP));
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
27
Beispiel ORDMBS
create table ANGESTELLTER of ANG_TYP (
primary key A#,
values for ANG_ID are system generated,
scope for arbeitet_in is ABTEILUNG);
create table LTD_ANGESTELLTER under ANGESTELLTER of LTD_ANG_TYP (
scope for leitet is ABTEILUNG);
create table ABTEILUNG of ABT_TYP (
primary key AName,
values for ABT_ID are system generated,
scope for hat_Mitarbeiter is ANGESTELLTER
scope for geleitet_von is LTD_ANGESTELLTER);
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
28
Beispiel ORDBMS
select Name
from ANGESTELLTER
where Gehalt >= 30000
select Name, Tel
from ANGESTELLTER
where Gehalt < 150 000
select Name, Gehalt
from LTD_ANGESTELLTER
select geleitet_von —> Name, AName
from ABTEILUNG
where U_Ziel ≥ 3 000 000
select zeige_Foto (Bild)
from ANGESTELLTER
where Gehalt >= 30000
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
29
DBMS
relationale
Datenbank
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
30
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
31
OO
DBMS
objektorientierte
Datenbank
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
32
DBMS
RDB + “stored
procedures”
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
33
OR
DBMS
ORDB
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
34
OR
DBMS
ORDB
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
35
wofür ist was gut ? – einige Vergleiche
alle besprochenen DBMS-Ansätze resultieren (neben neuen technischen Möglichkeiten
und wissenschaftlicher Neugier) aus
—
—
—
erkannten Schwachstellen klassischer RDBMS
neuen Anforderungen aus DBMS-Anwendungen (“nonstandard”-Anforderungen)
neuen Anforderungen durch neue Umgebungen (OO!)
und bieten daher (in erster Linie)
(a)
erweiterte Möglichkeiten zur Modellierung von Strukturen
(——> Graphen, Taxonomien)
(b)
Möglichkeiten zur Modellierung von Verhalten als Bestandteil der DB
(——> definierbare Funktionalität)
(c)
bessere (“nahtlose”) Integration von DBMS-Funktionalität in das Gesamtsystem:
objektorientierte Informationssysteme (mit “hochwertiger Persistenz”)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
36
Beurteilung
(im Vergleich zu “puren” RDBMS)
objektorientierte/objektrelationale DBMS:
•
für weitergehende DBMS-Anforderungen, vorwiegend aus speziellen Anwendungsgebieten: spezielle Datentypen, komplex strukturierte Daten, spezielle Operationen,
auch "navigierender" Zugriff
•
oft geringere Bedeutung von ad hoc-Zugriffen (aber eben doch auch ... !)
•
es kann sehr viel Semantik in der DB selbst modelliert werden (––> zentrale Stelle!)
•
effiziente Unterstützung für geeignete Anwendungen (nicht generell!)
objektorientierte DBMS auch:
•
(vorzugsweise) enge Bindung an objektorientierte Programmiersprachen
•
Streben nach ganzheitlicher Modellierungsweise,
unabhängig von Lebensdauer der Daten
Reifegrad von OODBMS/ORDBMS ?
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
37
wofür ist was gut ? – einige Vergleiche
■
Relationen sind in einem OODM als Spezialfall darstellbar
■
OQL und SQL sind in diesem Fall für Anfragen (fast) gleichwertig
■
Objekte tauchen in ORDBMS nur als “Elemente zweiter Klasse” auf,
sind gegenüber OODM mit Einschränkungen behaftet
■
Aufwärtskompatibilität von SQL: Segen und Fluch zugleich
■
SQL ist internationaler Standard, SQL 3/4 aber immer noch in Arbeit;
OQL ist zur Zeit der Standard eines Firmenkonsortiums
■
Normenkonformität von ORDBMS voraussichtlich nur eingeschränkt zu erwarten
■
die Anfragesprache OQL wird ihrem Namen (zur Zeit) voll gerecht und umfasst
damit weniger Teilaspekte als SQL
■
OQL ist in OODBMS-Produkten noch nicht flächendeckend vorhanden,
ebenso gibt es noch Defizite bei einigen anderen DBMS-Mechanismen
(diese sind jedoch produkt- und nicht konzeptbedingt !)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
38
wofür ist was gut ? – einige Vergleiche
■
sowohl OODBMS als auch ORDBMS bieten Mittel für weitergehende
Datenmodellierung (Struktur und Verhalten); sie sind in dieser Hinsicht
nahezu gleichwertig
■
die “nahtlose” Integration mit (objektorientierten) Programmiersprachen
ist für OODBMS besser gelöst
■
die Frage der “Altlasten” (d.h. von allem, was bis heute schon existiert):
—
man kann nicht einfach das bisherige RDBMS “XXX” durch das künftige
ORDBMS “XXX” ersetzen und ohne zusätzlichen Aufwand alle Vorteile
der Objektorientierung quasi umsonst erhalten
—
blosse “Objektifizierung” relationaler Daten reicht nicht
— es ist in jedem Fall (egal, ob OODBMS oder ORDBMS eingesetzt
werden soll) ein “Reengineering” erforderlich
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
39
Produkte (unvollständige Übersicht; subjektive Einordnung)
OODBMS
ORDBMS
• Ontos (früher VBase; Ontologic)
• Informix Universal Server
(mit ehemaligem Illustra-ORDBMS)
• Objectivity/DB (Objectivity)
• Versant (Versant Object Technology)
• ObjectStore (Object Design)
• GemStone (GemStone Inc.)
• OpenODB (<––IRIS; Hewlett-Packard)
• Oracle Version 8 (Universal Server)
• DB2 Version 2 for Common Servers,
Universal Database System (IBM)
• UniSQL
• Omniscience ORDBMS
• ORION (MCC ––> ITASCA Systems; Ibex)
• O2 (O2 –Technology; Altair)
• POET (POET Software)
• ODBMS (VC Software Construction)
• Jasmine (CA)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
• manche “OO”DBMS ??
40
Dateisysteme
OODBMS
einfache
Daten
komplexe
Daten
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Anfragen
ORDBMS
RDBMS
ORDBMS
keine
Anfragen
Anfragen
RDBMS
keine
Anfragen
was wofür: eine Frage des Standpunktes
Dateisysteme
OODBMS
einfache
Daten
komplexe
Daten
41
wohin führt der Weg ?
■
Objektorientierung als Ansatz hat sich durchgesetzt (ist längst kein akademisches
Spielzeug mehr); muss DB-seitig unterstützt werden und bringt Vorteile auch für DB
■
es existieren zahlreiche Anwendungen, für die heutige DBMS wenig geeignet sind,
die aber durchaus nach DBMS-Unterstützung verlangen
——>
——>
■
viele davon sind Zielbereich für OODBMS!
gute Marktprognosen für oo-unterstützende Systeme generell
bereits zahlreiche kommerzielle OODBMS-Produkte, die auch bereits im Einsatz stehen
typische Anwendungscharakteristika:
• komplexe Netzstrukturen
• grosse Anzahl von Informations”varianten”
• operationaler Aspekt ???
■
für viele Anwendungen sind (heutige) relationale DBMS völlig ausreichend
und auf weite Sicht "unschlagbar"; ——> in oo-Systeme integrieren !
■
künftige ORDBMS ab sofort “im Kommen”; haben Startvorteil durch ihre Herkunft;
stellen pragmatische Lösung dar
■
Koexistenz mehrerer Systemarten absehbar (Gateways und mehr; interoperierende
heterogene DBMS)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
42
OODBMS vs. ORDBMS
■
mit ORDBMS ziehen die RDBMS-Hersteller nach und bringen entscheidende
Konzepte und Möglichkeiten der Objektorientierung in ihre Systeme ein
■
für “nahtlose” objektorientierte Informationssysteme sind OODBMS (wohl auf
längere Sicht) die bessere Lösung
■
Systemreife ? Effizienz ? Handhabbarkeit ? Preis ? ...
(dieselben Bedenken, die vor allem RDBMS-Hersteller lange Zeit gegenüber
OODBMS geltend gemacht haben)
■
auch bei ORDBMS fällt die Umstellung von RDBMS nicht gratis ab
■
im Hinblick auf Altlasten: die Notwendigkeit zur Integration heterogener Systeme
entfällt nicht
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
43
■
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
aktive Datenbanken
44
konventionelle Datenbanksysteme: “passiv”
Repräsentation von Umweltsemantik im Rahmen von
Schema
• Datenmodell
Manipulationsoperatoren
Resultat
DBMS
– Strukturen für "Fakten"
– Standardoperatoren zum
Umgang damit
– (einige) Konsistenzregeln
• Transaktionsmodell
– Ausführung anwendungsdefinierter Arbeitseinheiten
(unmittelbar auf Anforderung)
mit Zusicherung bestimmter
Qualitäten ("ACID-Prinzip")
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
45
andere Arten oft benötigter
Semantik der Informationsverarbeitung
•
Überwachung/Durchsetzung von Beschränkungen (“constraints”)
(verschiedene Arten, Überprüfungszeitpunkte, Durchsetzungsverfahren)
•
Überwachung/Meldung bestimmer Situationen, reaktives Verhalten
(bestimmter Zustand der DB oder DB-Bearbeitung soll bestimmte Operation auslösen,
erfordert Benachrichtigung der Anwender, ...)
•
Folgeaktionen
(explizit verlangte DB-Operation soll implizit andere Operation auslösen)
•
...
——> wenig Hilfe von konventionellen DBMS (bestenfalls für ein paar Spezialfälle,
“fest verdrahtet”)
——> andere/zusätzliche Lösungen erforderlich
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
46
"passives" Datenbanksystem
2 Exemplare
DB-Handbuch
verkauft
•
•
wieviele
Exemplare
DB-Handbuch
noch am Lager?
DBS
3
Lagerbestand
DB-Handbuch 5 3
bestelle 100
Exemplare
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
47
konventionelle Lösungen
(1) reguläre Anwendungsprogramme berücksichtigen zusätzliche Semantik
– bestimmte allgemein vorkommende Arten von Semantik sind in Programmcode
verborgen/über zahlreiche Programme verteilt (schwer zugänglich, änderbar etc.)
– Wirksamkeit/Korrektheit von allen betroffenen Anwendungen abhängig
– nicht einmal in allen Fällen möglich
(2) periodische Abfragen der Datenbank (mittels spezieller Anwendungssoftware)
– Semantik an einem Platz konzentriert
(jedoch i.d.R. immer noch "fest verdrahtet")
– gelegentliche Abfragen: mögliches "Verpassen" des geeigneten Reaktionszeitpunktes
– häufige Abfragen: teuer für DBMS-Betrieb
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
48
"aktives" Datenbanksystem
2 Exemplare
DB-Handbuch
verkauft
•
Lagerbestand
•
(
)
bestelle 100
Exemplare
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
DBS
DB-Handbuch 5 3
Regeln
"wenn Lagerbestand < 5
wird, bestelle
100 Exemplare"
49
Grundidee
•
Erkennen von (vorab beschriebenen, beobachtbaren)
Situationen
( . . . in der Datenbank, Anwendung, Umgebung)
•
bei Eintreten auslösen (definierter)
Reaktionen
( . . . DB-Operationen, beliebige Programme)
➮
aktives Datenbanksystem (aDBMS):
. . . kann – zusätzlich zu den bekannten Fähigkeiten –
anwendungsdefinierte Situationen in der Datenbank (und
darüber hinaus) erkennen und bei deren Eintreten selbsttätig anwendungsdefinierte Reaktionen auslösen
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
50
Paradigma für Spezifikation in aDBMS: ECA-Regeln
( E, C) ——> A
ON
Ereignis tritt ein
"Situation"
IF
Bedingung ist erfüllt
DO
führe aus Aktion
"Reaktion"
unterstelltes Systemverhalten: “wenn E eintritt, prüfe C und falls C erfüllt ist, führe A aus”
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
51
wirft etliche Fragen auf:
•
welche Arten von Ereignissen/Bedingungen/Aktionen kann man spezifizieren?
•
was genau heisst “Eintreten eines Ereignisses” ?
•
wie und wann “merkt” das DBMS, dass ein Ereignis eingetreten ist ?
•
wann genau wird eine Bedingung geprüft, eine assoziierte Regel ausgeführt (“gefeuert”) ?
•
wie werden Regeln als Elemente der Datenbank behandelt ?
•
wie stehen typische DBMS-Mechanismen zu Regeln und ihrer Ausführung
(z.B. Synchronisation, Wiederanlauf, Autorisierung, ...) ?
•
...
aktive DBMS-Funktionalität ist prinzipiell orthogonal zur DBMS-Art (Datenmodell)
——>
——>
——>
aktive relationale DBMS
aktive objektorientierte DBMS
...
heute Gegenstand intensiver Forschung und Prototypentwicklung
(grösste Probleme: effiziente Realisierung, sichere Verwendung)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
52
reduzierte Funktionalität: DB-Trigger
(z.B. in SQL 3-Vorschlag)
CREATE TRIGGER <trigger_name>
{BEFORE | AFTER | INSTEAD OF}
{INSERT | DELETE | UPDATE [OF <column_list>]}
ON <table>
[REFERENCING OLD AS <old_values_correlation_name>
NEW AS <new_values_correlation_name> ]
[WHEN <predicate>]
<statement_list> [FOR EACH {ROW | STATEMENT} ]
– Ereignisse (Bedingungen, Aktionen): nur DB-Operationen
– Bezug auf alte und neue Werte möglich
– FOR EACH ROW-Option: Wirkung auf gesamte Tabelle, nicht nur einzelnes Tupel
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
53
■
Informationsgewinnung
aus Datenbanken
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
54
Ausgangslage und Möglichkeiten
•
heute übliche Sichtweise:
– Datenbank ist Menge von Fakten
– Benutzung: Auffinden bestimmter Fakten(mengen), allenfalls einfache Korrelationen,
Bearbeitung der Ergebnisse (verändern, löschen, ...)
•
neuere Erkenntnisse:
– Datenbanken enthalten (meist implizit) wesentlich mehr “Informationen”,
als durch obige Arbeitsweise ausgenutzt wird
(beachte: Daten ≠ Informationen!)
– dies gilt insbesondere bei zunehmend umfangreicheren Datenbanken
(mehr Fakten über Unternehmen etc. in DB vorhanden)
– diese Informationen können insbesondere der Entscheidungsfindung im Unternehmen
dienen (“decision support”) und stellen eine höchst wertvolle Resource dar
•
wesentliche Möglichkeiten:
– Datenanalyse (Gruppierung/Aggregation/... “dimensionaler” Daten): “OLAP”
– Erkennung/Ermittlung typischer Muster in den Daten: “data
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
mining”
55
OLAP
Online Analytical Data Processing
•
•
interaktive, multidimensionale Datenanalyse
im Gegensatz zu OLTP (online transaction processing): herkömmliche DB-Verwendung
•
Hintergrund:
in vielen Datenbanken liegen Werte für bestimmte Messgrössen vor
(z.B. Umsätze, Kosten), die funktional von bestimmten (meist mehreren)
Dimensionen abhängen (z.B. Produktarten, Zeiträumen, Regionen)
•
Ziel:
konsolidierte Betrachtung der Messwerte auf verschiedenen Stufen
Beispiel: Relation Umsatzdaten (Artikel, Filiale, Zahlungsmittel, Umsatz)
•
konzeptuelle Betrachtung dieser Daten in einem multidimensionalen Datenmodell
(Datenwürfel, Hyperwürfel, data cube)
•
Operationen:
–
–
–
–
“drill down” (Detaildaten finden), “roll up” (Details zusammenfassen)
Projektion (——> Würfel niedrigerer Dimension), Selektion
“slice & dice” (Selektion + Projektion)
Drehen (rotate/pivot: Ändern der dimensionalen Orientierung)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
56
multidimensionale Datenbank: Modell “Datenwürfel”
Filiale
Artikel und
Zahlungsmittel
1
Summe
Aggregation
Radio
VideogerŠt
Fernseher
Zahlungsmittel
2
3
4
Bar
EC
Postcard
Artikel
Summe
GROUP BY
Fil. 1
Fil. 2
Bar
EC Post
Filiale
Fil. 3
Fil. 1
Fil. 4
Fil. 2
Zahlungsmittel
und Filiale
Fil. 3
Fil. 4
Filiale
Artikel und
Filiale
Summe
Zahlungsmittel
Summe
Kreuztabelle
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
DatenwŸrfel
(data cube)
57
data mining
•
Erkennung/Ermittlung typischer Muster in den Daten:
– treffen bestimmte (vermutete) Muster zu ?
– welche Muster sind überhaupt vorhanden ?
•
auf Basis bestimmter Gesetzmässigkeiten (Regeln), nach welchen gesucht werden kann
Verfahren:
–
–
–
–
–
–
Regression
Klassifikation
Segmentierung (Cluster-Bildung)
Generalisierung & Aggregation
Sequenzanalyse
Assoziation
Forschungsgebiet, das verschiedene Gebiete wie Statistik, Datenbanksysteme,
Künstliche Intelligenz (Mustererkennung, neuronale Netze, ...), Information Retrieval,
Datenvisualisierung etc. benötigt
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
58
data mining: Beispiel
Assoziationsregeln
gegeben:
– Menge von Entitäten E = {e1, e2, ..., en}
– Menge von Vorgängen V = {v1, v2, ..., vk} mit vi ⊆ E
(Transaktionen, welche Entitäten aus E betreffen)
Assoziationsregel:
X ——> Y
mit Vertrauen (“confidence”) k, Unterstützung (“support”) s
• X ⊆ E, Y ⊆ E, X ∩ Y = Ø
• s: Anteil der Vorgänge in V, welche X ∪ Y enthalten
• k: Anteil der Vorgänge in V, welche Y enthalten,
an denjenigen Vorgängen, welche X enthalten
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
59
data mining: Beispiel
Beispiel Lebensmittelgeschäft: “wer Butter und Brot kauft, nimmt auch Milch mit”
•
•
E = {Butter, Brot, Milch, ...}, V = {<Verkaufstransaktionen>}
Assoziationsregel: {Butter, Brot} ——> {Milch}, k= 80%, s = 5%
d. h.
“5% aller Verkaufstransaktionen beinhalten Butter, Brot und Milch”
“80% aller Verkaufstransaktionen, die Butter und Brot beinhalten, enthalten auch Milch”
Problem des data mining:
finde für eine DB alle (in unserem Fall) Assoziationregeln,
welche vorgegebene Minimalwerte für k und s aufweisen
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
60
Systemunterstützung
OLAP und data mining erfordern erhebliche Unterstützung
durch DB-Technologie:
•
•
•
spezielle (teils sehr aufwendige!) Spezialoperationen (vgl. Datenwürfel)
passende Datenmodelle
Systemarchitektur (OLAP und data mining auf “operationaler” Datenbank ???)
——> Data Warehouse: •
•
•
•
spezielle Datenbank (Datenmodell)
Metadaten
spezielle Funktionalität
evtl. noch spezifische “data marts”
Einzelaspekte:
•
•
•
Data Warehouse als spezielles DB(M)S, in welches operationale Daten eingespielt werden
(auch aus verschiedenen, heterogenen Quellen!): Datenrepliation
(physisches) Datenmodell: ROLAP (relational) vs. MOLAP (multidimensional)
Spezialsystem vs. “normales” DBMS (mit Ergänzungen)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
61
■
verteilte, föderierte, interoperable
Datenbanksysteme
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
62
Ausgangslage und Möglichkeiten
•
dezentrale Aufgaben im Unternehmen
(——> die mit Hilfe der Datenbank zu modellierende Realwelt ist verteilt)
•
Trend zur Dezentralisierung der Hardware, dazu jedoch intensive Vernetzung
•
resultierende Notwendigkeit zur Anpassung vieler Softwaresysteme
(dabei Berücksichtigung moderner Systemstrukturen)
•
Existenz diverser (heterogener!) Datensammlungen/DBMS
im Unternehmen/Unternehmensverbund:
Notwendigkeit der Integration, gemeinsamen Nutzung
Möglichkeiten (je nach Randbedingungen; nicht disjunkt):
–
–
–
–
–
Client/Server-Architektur
(transparent) verteilte DBMS: von vornherein entsprechend gebaut
DBMS-Föderationen (bei weitgehendem Erhalt der Autonomie der Komponenten),
Multi-DBMS, interoperierende DBMS, DBMS-Brückenprogramme (gateways)
Nutzung allgemeiner Interoperabilitäts-Infrastrukturen (CORBA, ...): “Middleware”
dringend benötigt: Standards !
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
63
Client/Server-Konzept als Organisationsprinzip
ein Organisationsprinzip für Software mit folgenden Merkmalen:
—
Aufteilung in funktionale Einheiten, welche Dienste erbringen und/oder anfordern
—
Client: ein Prozess, der von Server-Prozessen spezifische Leistungen anfordert
—
Server: ein Prozess, der für Klienten angeforderte Dienste erbringt
also: die Verkörperung des Prinzips “Arbeitsteilung” in der Software
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
64
Client/Server-Modell
Client
Dienstnehmer
Dienstnachfrager
Kunde
Auftraggeber
❶
Auftrag
❷
Bearbeitung
❸
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Server
Dienstgeber
Diensterbringer
Lieferant
Auftragnehmer
Antwort
65
Eigenschaften des Client/Server-Konzepts
■
unabhängig von zugrunde liegender HW-Architektur,
ABER: prädestiniert für Rechnernetze
■
synchrone oder asynchrone Kommunikation
■
Mehrstufigkeit möglich
■
mehrere Clients je Server möglich
■
Granularität/Art der Aufteilung: viele Möglichkeiten
■
Art der Diensterbringung für Klienten unerheblich (Schnittstelle entscheidend)
■
weitgehene Unabhängigkeit von Client und Server (Entkoppelung)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
66
mehrstufige Client/Server-Architektur
Auftrag
Auftrag
Antwort
Antwort
Client
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Client
&
Server
Server
67
Client/Server-Aufteilung (Beispiel)
Client
Präsentation
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Server
Anwendung
Daten
68
Middleware
Client
Middleware
Server
Benennungsdienste
Verzeichnisdienste
Sicherheitsdienste
Transaktions-Monitore
DB-Gateways
Interprozesskommunikation
Botschaftendienste
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
69
Integration heterogener DBMS
AWP
allgemeine Lösung
“Integrationsschicht”
DBMS 1
DBMS 2
DM 1
DM 2
DM int
Aufgaben und Probleme:
—
—
—
—
Vorteile:
— Nutzung von “Altlasten” zusammen mit modernen Systemen
— graduelle Migration
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
Datenmodellabbildungen
“globale” Transaktionen, Konsistenz etc.
Autonomie der Komponentensysteme
...
auch hierfür:
Nutzung von
oo-Konzepten!
70
CORBA-Architektur der OMG
Application Objects
Common Facilities
Common Object Request Broker Architecture
Name
Events
Life Cycle
Persistence
Relationships
Transactions
Concurrency
Security
Time
Licensing
Properties
Query
Trading
Change Mgmt.
Data Interchange
Common Object Services Specification
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
71
Beispiel für “gemischte” Lösung in Client/Server-Umgebung
zur Nutzung neuartiger DBMS
konventionelle Anwendungen
(z. B. OLTP)
RDBMS
RDB
oo-Anwendungen
(z. B. Entscheidungsunterstützung)
ooDBMS
Datenpropagierung
Notifikation
Replikation
(auszugsweise, evtl. aggregiert)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
ooDB
72
■
Datenbanken und das
Internet/Intranet/Extranet
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
73
Internet, Intranet, Extranet, WWW, ...
■
Internet:
weltweiter Zusammenschluss von Rechnern, die selbst wieder in Teilnetzen organisiert sind (“Netz der Netze”, “Datenautobahn”)
● technische Infrastruktur (samt Übertragungsprotokollen: TCP/IP, ...)
● Datenaustauschprotokolle (HTTP, FTP, ...)
● eindeutige Identifikatoren für alle beteiligten Rechner (“Knoten”)
völlig dezentralisiert, keine eigentliche Verwaltung,
jeder Knoten kann Informationen anbieten,
“kreatives Chaos”
■
WWW:
World Wide Web — die Veredelung des Internet
● Organisation der in den Knoten (WWW-Server) angebotenen
Dokumente in “Seiten” mit beliebigen Querverweisen: Hypertext
● HTML als Standard für die Dokumentbeschreibung
● URLs als weltweit eindeutige Identifikatoren für Dokumente
● Klienten-Software für das Arbeiten mit empfangenen Dokumenten
(WWW-Browser; “Surfbretter”)
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
74
Internet, Intranet, Extranet, WWW, ...
■
stillschweigende Annahme: ● multimediale Information (Text, Bild, Grafik)
■
mehr und mehr auch:
■
Intranet:
genau das gleiche (Infrastruktur, Protokolle, Software, Arbeitsweisen, ...)
aber: beschränkt auf eigenes Unternehmen oder Teile davon
■
Extranet:
Intranet unter Einbezug von Komponenten befreundeter Organisationen
(z. B. ——> virtuelle Unternehmen)
●
●
●
●
weitere Medien (Video, Ton, ...)
von Dokumenten zu “aktiven Elementen” (Applets)
von HTML zu Java
von reinem Lesen von Dokumenten
zu interaktivem Arbeiten
kreatives Chaos ——> angemessene Organisation
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
75
Internet
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
76
Informationsanbieter im Internet
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
77
Hypertext-Dokumente
Kantone der Schweiz
Die Schweiz
Swissair
Swissair ist die nationale Fluglinie
der Schweiz. Sie bietet Ihnen in
ihrem aktuellen Flugplan beste Verbindungen nach 4 Kontinenten an.
Besonders machen wir Sie auf
unsere attraktiven Sondertarife
aufmerksam.
...
...
...
...
...
Dokument 1
Die Schweiz, im Herzen
von Europa gelegen, ist
in 26 Kantone gegliedert.
...
...
...
Dokument 2
SWISSAIR
Flugplan Sommer 96
...
...
...
...
...
...
...
...
Dokument 3
Europa
...
...
...
...
Dokument 5
Dokument 4
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
78
WWW
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
79
Datenbanksysteme im Internet/Intranet/Extranet
■
Aufgabe 1:
existierende Datenbanken in der neuen Umgebung verfügbar machen
●
●
●
●
■
Aufgabe 2:
WWW ermöglicht breite Verfügbarkeit, einheitliche Oberfläche für
unterschiedliche Datenbestände bei beliebigen Klienten
für alle Arten von DBMS (und andere Systeme) möglich
keine automatische Datenintegration (——> verteilte Datenbanken)
keine automatische Client/Server-Lösung
DBMS für die Verwaltung grosser Mengen von HTML-Dokumenten etc.
auf WWW-Servern
●
●
●
Suche, Konsistenthaltung, Versionierung, Kompression, ...
Unterstützung für die WWW-Verantwortlichen
erfordert funktional reichhaltiges DBMS
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
80
WWW-Anbindung von DBMS
WWW-Server
HTTP
CGIProgramme
HTMLDokumente
DBMS
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
81
DB-Technologie für Internet/Intranet/Extranet: Ausgangslage
■
Annahmen: ●
●
●
●
■
daher dringend erforderlich:
weiteres Anwachsen der Informationsflut
neue Arbeitsumgebung macht mehr Informationen zugänglich
grosse Artenvielfalt der Informationen
weitere Einsatzfelder der Web-Technologie, vor allem für Intranets
(z.B. gezielte Informationsverteilung, Bearbeitung von Geschäftsvorfällen)
● sinnvolle Nutzung der technischen Möglichkeiten bringt grosse Vorteile
● mehr Struktur/Strukturierungsmöglichkeiten
● einfacher, leistungsfähiger, gezielter Umgang
mit Netzinformation (für Nachfrager und Anbieter)
● Steuerungs- und Überwachungsmöglichkeiten für
Aktivitäten im Netz
■ Datenbanktechnologie kann hierfür Lösungen/Unterstützung bieten
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
82
■
DBMS-Architektur der Zukunft:
Monolith oder was sonst ?
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
83
Resümee
•
es wird (aus guten Gründen!) eine zunehmend grössere Funktionalität von DBMS
gefordert (die besprochenen Beispiele geben bei weitem kein vollständiges Bild!)
•
generelle Tendenzen:
•
aber auch:
——>
– "mehr Semantik in DB/DBMS"
– grössere Diversifikation (Anforderungen, Lösungen)
– grosse Datenmengen liegen nicht in DBMS vor
(z.B. Spreadsheets, viele “Multimedia”-Daten, ...)
– zunehmend auch hierfür DBMS-Funktionalität gewünscht
kann dies wirklich alles noch von (mehr oder weniger)
monolithisch aufgebauten Allround-DBMS vernünftig
geleistet werden ???
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
84
einige jüngere Forschungs- und Entwicklungsrichtungen
■ relationale DBMS
■ verteilte DBMS
■ TA-Monitore
■ objektorientierte DBMS
■ Client/Server-DBMS
■ geschachtelte TAs
■ objektrelationale DBMS
■ heterogene DBMS
■ lange TAs
■ temporale DBMS
■ DBMS-Föderationen
■ kooperierende TAs
■ aktive DBMS
■ Data Repositories
■ DB/IR-Integration
■ Multimedia-DBMS
■ Metadatenbanken
■ DB-Programmiersprachen
■ Geo-DBMS
■ Datenreplikation
■ persistente Objekte
■ deduktive DBMS
■ Zugriffsschutz
■ DBMS-Middleware
■ erweiterbare DBMS
■ Versionsverwaltung
■ Zugriffspfade
■ Data Blades
■ Schemaevolution
■ Tuning/Optimierung
■ Realzeit-DBMS
■ Anfragesprachen
■ Hauptspeicher-DBMS
■ universelle DB-Server
■ Sichtenkonzepte
■ DBMS-Parallelisierung
■ mobile Datenbanken
■ Data Warehouse (OLAP)
■ DBMS-Benchmarks
■ digitale Bibliotheken
■ Data Mining
■ Standards
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
85
generelle Tendenz: "mehr Semantik in DB/DBMS"
•
•
•
•
wo sinnvoll möglich; Kenntnisse in DB ohnehin vorhanden
explizite Repräsentation möglichst vielerlei Informationen (Zugänglichkeit, Änderbarkeit)
Standardmechanismen vs. Individuallösungen
Ersparnis häufiger DBS-Aufrufe
Anwendung
Anwendung
DBMS
DBMS
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
86
die Zukunft: DBMS als Komponentenarchitekturen ?
•
•
•
•
DBMS-Kernsystem (was muss es bieten, wie klein darf es sein, ...?)
DBMS-Erweiterungen
DBMS-Middleware (vgl. die heutigen Transaktionsmonitore)
OODBMS/ORDBMS/CORBA etc. weisen die Richtung (zumindest in Teilaspekten)
Anwendung
Anwendung
Middleware
DBMS
Erweiterungen
DBMS-Kern
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
87
Literaturhinweise
Die Literatur zu den hier besprochenen Themen ist naturgemäss umfangreich und vielfältig (und von sehr
unterschiedlicher Qualität). Eine recht umfassende und verständliche Behandlung der Thematik bieten die
beiden folgenden Bücher:
•
Alan R. Simon: Strategic Database Technology – Management for the Year 2000
Morgan Kaufmann Publishers, San Francisco, 1995
•
Bart O’Brien: Database Decisions – Briefings on the Management of Technology
Pitman Publishing, London, 1994
Dort sind auch zahlreiche Hinweise auf Literatur zu Details angegeben.
Auch über die auf dem Titelblatt genannte WWW-Heimatseite des Autors kann man zahlreiche Verweise zu
interessanten aktuellen Arbeiten auf diesem Gebiet finden.
©1997 Prof. Dr. Klaus R. Dittrich, IFI, Universität Zürich
88
Herunterladen