View
34
Download
0
Category
Preview:
DESCRIPTION
Konfluenz in aktiven DB. Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität Jena. Gliederung (1). „Was bedeutet Konfluenz“ – an einem Beispiel Lösungsansätze RAG Kommutativität Erweiterte Aktionen - PowerPoint PPT Presentation
Citation preview
Konfluenz in aktiven DB
Vortragsreihe zum Thema
„Aktive Datenbanken“
des Lehrstuhls für Datenbanken und Informationssysteme
der Friedrich-Schiller-Universität Jena
Laura Elisabeth Hombach 2
Gliederung (1)
1. „Was bedeutet Konfluenz“ – an einem Beispiel
2. Lösungsansätzea. RAGb. Kommutativitätc. Erweiterte Aktionend. Beeinflussungsfreiheit
3. Laufzeitüberwachung
Laura Elisabeth Hombach 3
Gliederung (2)
4. Behandlungs-Möglichkeiten bei nicht konfluenten DB
5. Partielle Konfluenz
6. Umgang von DBMS mit Konfluenz
7. Zusammenfassung
8. Ausblick
9. Literatur
Laura Elisabeth Hombach 4
Problemstellung
Wenn n ungeordnete Paare von Regeln gleichzeitig getriggert, kann der Datenbank-
Endzustand davon abhängen, in welcher Reihenfolge die Regeln ausgeführt werden.
Laura Elisabeth Hombach 5
Ungeordnete Paare
• r1, r2 R wobei gilt:
• r1 < r2 P und
• r2 < r1 P gelten nicht
Laura Elisabeth Hombach 6
Beispiel (1)
• Regel 1 (r1): Es verringert sich der Preis eines
Buches um 5 €, wenn das Erscheinungsdatum 1 Jahr
zurückliegt
• Regel 2 (r2): Wenn der Autor eine Aus-
zeichnung bekommt, erhöht sich der Preis seiner
Bücher um 2%• Buchpreis = 10€
Laura Elisabeth Hombach 7
Beispiel (2)
• Es greifen sowohl r1 als auch r2
• Bei der Ausführungsreihenfolge r1 r2
sinkt der Buchpreis auf 5,10 €
• Bei der Ausführungsreihenfolge r2 r1
sinkt der Buchpreis auf 5,20 €
• Die Regelmenge ist nicht konfluent
Laura Elisabeth Hombach 8
Definition - Konfluenz
„Eine Regelmenge R ist konfluent, wenn für alle denkbaren Datenbankzustände DB und
alle DML-Operationen der nach Regelauswertung erreichte Endzustand im Regelausführungsgraphen, in dem keine Regel mehr getriggert ist, eindeutig ist“
[Weik]
Laura Elisabeth Hombach 9
Lösungsansätze
• Nutzer darauf aufmerksam machen, daß Konfluenz auftreten kann
• Ein Ereignis darf max. eine Regel auslösen
• Totale Ordnung der Regelmenge
• Partielle Ordnung der Regelmenge
• Sicherung der Kommutativität von Regelmengen
Laura Elisabeth Hombach 10
Erläuterung
• Zur Konfluenz Erkennung Unterscheidung zwischen drei Regeldefinitionen (Immediate, Deferred und Decoupled)
• Immediate und Decoupled gemeinsam betrachtet werden
• Wegen hohen Komplexität wird hier auf die Unterscheidung verzichtet
(Für Weitere Informationen siehe [Weik])
Laura Elisabeth Hombach 11
Regelausführungsgraph (RAG)
• Gerichteter Graph RAG = (V,E)
• R = Regelmenge
• RT sind die Regeln der Regelmenge, welche
momentan getriggert sind
• Eckmengen E SxS (S,S‘)E mit rRT
• Ecken S = (DB, RT)
• SI = Ausgangszustand
Laura Elisabeth Hombach 12
RAG (2)
SI
S2S1
S‘
r2r1
Laura Elisabeth Hombach 13
Kommutativität
Zwei Regeln r1, r2 sind kommutativ, wenn bei
der Ausführung von r1 r2 dasselbe
Endergebnis erreicht wird wie bei der Ausführungsreihenfolge r2 r1
(ein r R ist immer mit sich selber kommutativ)
Laura Elisabeth Hombach 14
Kommutativität im RAG
SI
S2S1
S‘
r2r1
r1r2
Laura Elisabeth Hombach 15
Erweiterte Aktionen (1)
• Zwei Regeln r1, r2 R (r1 und r2 sind kommutativ)
• r1 triggert r R
• r > r2 P (wobei P die Prioritätsmenge der Regeln ist)
• Daraus ergeben sich zwei Abarbeitungs- reihenfolgen
Kein eindeutiges S‘
Laura Elisabeth Hombach 16
EA im RAG
SI
S2S1
r2r1
rr2
S1‘ S2‘
r1r
Laura Elisabeth Hombach 17
Erweiterte Aktionen (2)
• EA1 = Alle r R, welche direkt oder indirekt durch r1 getriggert werden
• EA2 = Alle r R, welche direkt oder indirekt durch r2 getriggert werden
Laura Elisabeth Hombach 18
Erweiterte Aktionen im RAG
SI
S2S1
S‘
r2r1
r1r2
S1‘ S2‘
EA2EA1
EA1EA2
Laura Elisabeth Hombach 19
Konfluenz – Erweiterte Def.
Alle ungeordneten Paare {r1} EA1 und
{r2} EA2, welche kommutativ sind und
im RAG terminieren, sind konfluent
(für Deferred Regelen reicht diese Annahme nicht aus siehe [Weik])
Laura Elisabeth Hombach 20
Kommutativität – weitere Def.
Zwei Regeln r1, r2 R sind kommutativ,
wenn sie beeinflussungsfrei sind
Laura Elisabeth Hombach 21
Beeinflussungsfreiheit
• r EA1 {r1} triggert bzw. deaktiviert r2
nicht
• r EA1 {r1} ändert nicht den
Wahrheitswert von r‘ EA2 {r2}
• r EA1 {r1} ändert nichts, was durch
r‘ EA2 {r2} gelesen bzw. geändert wird
• Und analog für r‘ EA2 {r2}
Laura Elisabeth Hombach 22
Beispiel – Beeinflussungsfreiheit (1)
• r1 = Es verringert sich der Preis eines Buches um 5 €, wenn das Erscheinungsdatum 1 Jahr zurückliegt
• EA1 r = Buchpreis 0,5 € Warnung r* = Erscheinungsdatum liegt länger als 10
Jahre zurückBuchpreis weniger 0,5€ • r2 = Wenn nur noch 1 Exemplar eines Buches
vorhanden ist, generiere eine Bestellung über 5 neue Exemplare
• EA2 Leer
Laura Elisabeth Hombach 23
Beispiel – Beeinflussungsfreiheit (2)
• Buchpreis = 10€ • Anzahl = 2• Erscheinungsdatum = 22.06.2006
Laura Elisabeth Hombach 24
Beispiel – Beeinflussungsfreiheit (3)
• Bei der Ausführungsreihenfolge r1 r2
Buchpreis = 5€ und r, r* und r2 werden nicht aktiv
• Bei der Ausführungsreihenfolge r2 r1
Buchpreis = 5€ und r, r* und r2 werden nicht aktiv
Laura Elisabeth Hombach 25
Beispiel – Beeinflussungsfreiheit (4)
• EA1 {r1} kann r2 nicht triggern oder deaktivieren
• Die Wahrheitswerte von EA2 {r2} bleiben
unverändert
• EA1 {r1} und EA2 {r2} arbeiten auf disjunkten
Teilen der DB
Es liegt Beeinflussungsfreiheit vor
(für weitere Informationen siehe [Weik])
Laura Elisabeth Hombach 26
Bemerkung
• Kommutativität hinreichende Bedingung
• Ausgabe von Werten welche konfluent sind
Laura Elisabeth Hombach 27
Laufzeitüberwachung
• Keine Überwachung der Konfluenz
• Abbruch der Transaktion, wenn nicht Konfluenz vermutet wird (bzw. Informierung des DBA)
• Warnung der Applikationen
• Ausführung von einer begrenzten Anzahl von Alternativen auf Kopien
Laura Elisabeth Hombach 28
Behandlungs-Möglichkeiten bei nicht konfluenten DB
• Bestätigen, daß r1 und r2 doch konfluent
sind
• Definition einer Priorität zwischen r1 und r2
• Entfernen einer Priorität
Laura Elisabeth Hombach 29
Partielle Konfluenz (1)
• Die Bedingung der Konfluenz ist für manche R zu stark
• Aufteilung der Tabellenmenge T in wichtige- (T‘) und unwichtige Tabellen
Laura Elisabeth Hombach 30
Partielle Konfluenz (2)
• Nur T‘ muss konfluent sein der RAG muss nicht eindeutig sein
• Die Endzustände müssen nur für T‘ eindeutig sein
• Alle relevanten Regeln für T‘ (Sig (T‘)) müssen für sich terminieren
Laura Elisabeth Hombach 31
Partielle Konfluenz im RAG
SI
S2S1
r2r1
r1r2
S1‘ S2‘
EA2EA1
EA1EA2
1S‘ 2S‘ S‘
r1,EA1, r2,EA2Sig(T‘) r1,EA1, r2,EA2Sig(T‘)r1,EA1, r2,EA2Sig(T‘)
Laura Elisabeth Hombach 32
Umgang von DBMS mit Konfluenz
• Oracle und DB2: Wenn die Regeln eine totale Ordnung besitzen und die Regelmenge terminiert liegt, Konfluenz vor
Laura Elisabeth Hombach 33
Zusammenfassung
• Konfluenz Problem Unentscheidbar und negativer Einfluss auf aktive DBMS
• Kommutativität ist nur eine hinreichende Bedingung
• Bis heute noch keine allgemein-gültige Bedingung gefunden (die nur nicht konfluente Paare ausgibt)
Laura Elisabeth Hombach 34
Ausblick
• Implementierung des Konzeptes wünschenswert
• Kommutativität = beste bekannte Methode
Laura Elisabeth Hombach 35
Literatur
• [Weik] T. Weik, „Terminierung und Konfluenz in einer aktiven objekt-orientierten Datenbank“, Seiten 159 - 185, 246 f, infix
• [Aiken] A.Aiken, J. Widom, J. M. Hellerstein, „Behavior of Database Production Rules: Termination, Confluence, and Observable Determinism“, Seiten 4 – 8, IBM Research, 1992
• [Schl] M. Schlesinger, „ALFRED – Konzepte und Prototyp einer aktiven sicht zur Automatisierung von Geschäftsregeln“, Seiten 114 – 116, digital publications
• [Mahm] Y. Mahmud, „Aktive Datenbanken“, Seiten 29 f, Seminararbeit an der Johann Wolfgang Goethe-Universität Frankfurt am Main, Juni 1998
Recommended