Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für...

35
Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller- Universität Jena

Transcript of Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für...

Page 1: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Konfluenz in aktiven DB

Vortragsreihe zum Thema „Aktive Datenbanken“

des Lehrstuhls für Datenbanken und Informationssysteme

der Friedrich-Schiller-Universität Jena

Page 2: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 3: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 3

Gliederung (2)

4. Behandlungs-Möglichkeiten bei nicht konfluenten DB

5. Partielle Konfluenz6. Umgang von DBMS mit Konfluenz7. Zusammenfassung8. Ausblick9. Literatur

Page 4: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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.

Page 5: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 5

Ungeordnete Paare

• r1, r2 R wobei gilt:

• r1 < r2 P und

• r2 < r1 P gelten nicht

Page 6: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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€

Page 7: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 8: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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]

Page 9: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 10: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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])

Page 11: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 12: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 12

RAG (2)

SI

S2S1

S‘

r2r1

Page 13: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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)

Page 14: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 14

Kommutativität im RAG

SI

S2S1

S‘

r2r1

r1r2

Page 15: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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‘

Page 16: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 16

EA im RAG

SI

S2S1

r2r1

rr2

S1‘ S2‘

r1r

Page 17: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 18: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 18

Erweiterte Aktionen im RAGSI

S2S1

S‘

r2r1

r1r2

S1‘ S2‘

EA2EA1

EA1EA2

Page 19: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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])

Page 20: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 20

Kommutativität – weitere Def.

Zwei Regeln r1, r2 R sind kommutativ, wenn sie beeinflussungsfrei sind

Page 21: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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}

Page 22: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 23: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 23

Beispiel – Beeinflussungsfreiheit (2)

• Buchpreis = 10€ • Anzahl = 2• Erscheinungsdatum = 22.06.2006

Page 24: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 25: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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])

Page 26: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 26

Bemerkung

• Kommutativität hinreichende Bedingung• Ausgabe von Werten welche konfluent sind

Page 27: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 28: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 29: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universitä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

Page 30: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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

Page 31: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 31

Partielle Konfluenz im RAGSI

S2S1r2r1

r1r2

S1‘ S2‘

EA2EA1

EA1EA2

1S‘ 2S‘ S‘

r1,EA1, r2,EA2Sig(T‘) r1,EA1, r2,EA2Sig(T‘)r1,EA1, r2,EA2Sig(T‘)

Page 32: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universitä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

Page 33: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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)

Page 34: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

Laura Elisabeth Hombach 34

Ausblick

• Implementierung des Konzeptes wünschenswert

• Kommutativität = beste bekannte Methode

Page 35: Konfluenz in aktiven DB Vortragsreihe zum Thema „Aktive Datenbanken“ des Lehrstuhls für Datenbanken und Informationssysteme der Friedrich-Schiller-Universität.

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