Seminar Aktive Datenbanken
description
Transcript of Seminar Aktive Datenbanken
![Page 1: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/1.jpg)
1
Seminar Aktive Datenbanken
REACH
A Real-Time Active and Heterogeneous Mediator System
Yvonne Utterodt
Lehrstuhl für Datenbanken und Informationssysteme
Prof. Dr. Küspert
![Page 2: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/2.jpg)
2
REACHGliederung
• Einführung
• Architektur
• Regeldefinition
• REACH-Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 3: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/3.jpg)
3
Einführung
• Was ist REACH?– 1992, TU Darmstadt
– Forschungsprototyp eines aktiven objektorientierten DBMS
– Plattform für die Entwicklung von Anwendungen
• Ziele – Robustes System mit vollständiger aktiver Funktionalität
– kommerzielles OODBMS nutzen
– alle Ereignisse, Kopplungsmodi und Werkzeugset
![Page 4: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/4.jpg)
4
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 5: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/5.jpg)
5
ArchitekturGrad der Integration
Welches Architekturprinzip?
• Schichtenarchitektur– Basiert auf passivem DBMS
– Darauf aufbauend gesamte Regelverwaltung als zusätzliche Schicht
– Zügige Implementierung
• Integrierte Architektur– Komponenten des DBMS sind auf aktive Funktionalität abgestimmt
– Varianten:• Vollständige Neuentwicklung
• Kooperation mit DBMS Hersteller
• Verwendung DBMS Forschungsprototyp
![Page 6: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/6.jpg)
6
Architektur Lösung bei REACH
REACH mit OpenOODB und Exodus
Solaris
EXODUSStorage Manager
SunProC++
daVinci Tcl/Tk
OpenOODB
REACH
![Page 7: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/7.jpg)
7
Architektur 2-Schichten Architektur von OpenOODB
Basismodule
Meta-Architektur
Persistenz-PM Transaktions-PM Anfragen-PM ...
Adress-management
Übersetzung Kommunikation DataDictionary
REACH
![Page 8: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/8.jpg)
8
Architektur Bibliotheken und Datenbanken für REACH
REACHAnwendung
RegelnEreignisse
Anwendungsdaten
DBx
libO3DB
libsm_client
libREACHlibRules
REACH
OpenOODB
Exodus
![Page 9: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/9.jpg)
9
Architektur Probleme für REACH
• Method-Wrapping
• Debugger
• Gekaufte Fremdbibliotheken
• Clusterfähigkeit
![Page 10: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/10.jpg)
10
Architektur Was ist bei ObjectStore anders?
OpenOODB ObjectStore
Kommerziell nein ja
Code veränderbar ja nein
Datenbanken eine mehrere
Clustering nein ja
Präcompiler ja nein
Persistenzkonzept einfacher fehleranfälliger
![Page 11: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/11.jpg)
11
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 12: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/12.jpg)
12
RegeldefinitionEntwurfsmethode OMT+
R3
R1
R4
R5R2
PumpTurbine
TurbineX
Power Plant
updateWaterflowcheck
chec
kupdateOilTemp
Reduce RPM updatePressure
upda
tePr
essu
re
updateWaterflow
Every 4 weeks
![Page 13: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/13.jpg)
13
RegeldefinitionRegelsprache REAL
# include „Reactor.hh“
rule /powerplant/reactor/r1 {
prio 5;
decl River* river;int x;Reactor* rtor named „BlockA“;
event after river->updateWaterLevel(x)
cond imm x < 3 && river->getTemp() > 24.5 && rtor->getHeatOutput() > 1000000;
action imm rtor->reducePlannedPower(0.05);
};
![Page 14: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/14.jpg)
14
RegeldefinitionRegelsprache REAL
Kopplungsmodi:
REAL [BBKZ93]
imm immediate immediatedef deferred deferred
ind independent -dep dependent sequential causally dependentexc exclusive -
pind parallel independent detachedpdep parallel dependent parallel causally dependentpexc parallel exclusive exclusive causally dependent
![Page 15: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/15.jpg)
15
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 16: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/16.jpg)
16
REACH Komponenten
Trace Fehlerbehandlung
Transaktion
Regel
Triggern
Verwaltung
VisualisierungSchnittstellen
API Regelsprache Werkzeuge
Ereignis
Ereignis-parameter
Ereignis-historie
Ereignis-komposition
PrimitiveEreignisse
Zeit-ereignisse
Ereignis-basis
OpenOODB
![Page 17: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/17.jpg)
17
REACH KomponentenRegelkomponente
• Speicherorganisation von Regeln
• Speicherung mit der Semantik der Regeln verbinden
• Lösung: hierarchische Namensräume
Regel i Regel j... ... ... ...
/
Turbinentriebwerk
ÖlkreislaufUmgebung
![Page 18: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/18.jpg)
18
REACH KomponentenRegelkomponente
• Teilkomponente Regelauslösung:– Abarbeitung von ausgelösten Regeln
• Teilkomponente Regeladministration:– Regeln erzeugen, verändern und löschen
– Organisation der Regelverzeichnisse
– Ein- und Ausschalten von Regeln
![Page 19: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/19.jpg)
19
REACH Komponenten – Ereigniskomponente- spezialisierte Detektoren und direktes Triggern
Klassenhierarchie der Ereignisse
EreignisPrimitives Ereignis komposites Ereignis
• Methodenereignis
• Transaktionsereignis
• Regelereignis
• Absolutes Zeitereignis
BOT EreignisEOT EreignisCommit EreignisAbort Ereignis
• Relatives Zeitereignis
• Periodisches Zeitereignis
RegelerzeugungRegelentfernungRegeländerungRegeladministration
![Page 20: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/20.jpg)
20
Periodischer Zeit-Relativer Zeit-
REACH Komponenten – Ereigniskomponente- spezialisierte Detektoren und direktes Triggern
Prinzip des direkten Triggerns
BOT EOTPrimitives EreignisSignal
Primitiver Ereignis- detektor
Regel
triggern
triggernkompositer Ereignis- detektor
komponieren
![Page 21: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/21.jpg)
21
• Primitive Ereignisse:
– gemeinsame Funktionalität aller primitiven Ereignisse
– Methodenereignisse after river->updateWaterLevel(x)
– Transaktionsereignisse
BOT(TA-Name), EOT(TA-Name)COMMIT(TA-Name), ABORT(TA-Name)
– Persistenzereignisse
– Abstrakte Ereignisse
– Regeladministrationsereignisse
REACH Komponenten – Ereigniskomponente- Teilkomponenten
![Page 22: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/22.jpg)
22
REACH Komponenten – Ereigniskomponente- Teilkomponenten
• Zeitereignisse
– Absolute Zeitereignisse
at 2000/03/13/12/00/00
– Relative Zeitereignisse
30 minutes after <<event>>
– Periodische Zeitereignissestart{stop} 2000/03/13/12/00/00, every 30 minutes
![Page 23: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/23.jpg)
23
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
PE PE
PEPE
Ereigniskomposition
Programm 1Transaktion
Programm 2Transaktion
![Page 24: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/24.jpg)
24
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
Operationen der Ereignisalgebra
Sequenz E1 then E2
Konjunktion E1 and E2
Disjunktion E1 or E2
Negation not E2 in E1, E3
Hülle all E2 in E1, E3
Vielfachereignis n times E2 in E1,E3
Beispielafter river->updateWaterLevel(x) then reactor->updateTemp(t)
![Page 25: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/25.jpg)
25
REACH Komponenten – Ereigniskomponente- Teilkomponente Ereigniskomposition
• Kopplungsmodus– immediate nicht möglich
– deferred nur wenn die auslösenden Ereignisse aus der gleichen Transaktion kommen
• Garbage Collection– Löschen von angefangenen Kompositionen
– Sequenz, Konjunktion und Disjunktion spätestens beim Commit/Abort (bei same trans)
![Page 26: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/26.jpg)
26
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 27: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/27.jpg)
27
AdministrationswerkzeugeKommandozeile
• Zur Regelmanipulation– Anlegen, Löschen von Regelverzeichnissen
– Löschen, umbenennen, verschieben von Regeln
– Zugriffsrechte setzen ...
• Regelinspektion– Auflisten von Regeln und Verzeichnissen
– Inhalt einer Regel ausgeben
• Organisation der Ereignisse– History anschauen
– Löschen von Ereignissen
![Page 28: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/28.jpg)
28
AdministrationswerkzeugeRegelbrowser
![Page 29: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/29.jpg)
29
AdministrationswerkzeugeRegelbrowser
![Page 30: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/30.jpg)
30
AdministrationswerkzeugeEreignisbrowser
History
![Page 31: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/31.jpg)
31
AdministrationswerkzeugeBrowser für Triggergraphen
![Page 32: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/32.jpg)
32
AdministrationswerkzeugeTracemodus
![Page 33: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/33.jpg)
33
Übersicht
• Einführung
• Architektur
• Regeldefinition
• REACH Komponenten
• Administrationswerkzeuge
• Fazit
• Quellen
![Page 34: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/34.jpg)
34
Fazit
• Prototyp mit Demonstrationsanwendung Kraftwerk– REACH als Prototyp nicht vollständig
• Bei Schichtenarchitektur Probleme mit Recovery
• Handhabung von Ereignissen bei verteilten Datenbankclients nicht vollständig untersucht
• REAL stark an C++ angelehnt, daher prozedural, besser wäre deklarative Regelsprache
• Noch keine kommerziellen Systeme mit kommerziellen Anwendungen
![Page 35: Seminar Aktive Datenbanken](https://reader035.fdocuments.net/reader035/viewer/2022062221/568146ba550346895db3e89d/html5/thumbnails/35.jpg)
35
Quellen
Jürgen Zimmermann: Konzeption und Realisierung eines aktiven
Datenbanksystems: Architektur, Schnittstellen und Werkzeuge, 2001
Jürgen Zimmermann, Alejandro P. Buchmann, Active Rules in Database
Systems, REACH, 1999
Alejandro P. Buchmann, Architecture of Active Database Systems, 1998