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

Konfluenz in aktiven DB

  • Upload
    hoshi

  • View
    34

  • Download
    0

Embed Size (px)

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

Page 1: Konfluenz in aktiven DB

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

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

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

Page 4: Konfluenz in aktiven DB

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

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

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

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

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

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

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

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

Laura Elisabeth Hombach 12

RAG (2)

SI

S2S1

S‘

r2r1

Page 13: Konfluenz in aktiven DB

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

Laura Elisabeth Hombach 14

Kommutativität im RAG

SI

S2S1

S‘

r2r1

r1r2

Page 15: Konfluenz in aktiven DB

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

Laura Elisabeth Hombach 16

EA im RAG

SI

S2S1

r2r1

rr2

S1‘ S2‘

r1r

Page 17: Konfluenz in aktiven DB

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

Laura Elisabeth Hombach 18

Erweiterte Aktionen im RAG

SI

S2S1

S‘

r2r1

r1r2

S1‘ S2‘

EA2EA1

EA1EA2

Page 19: Konfluenz in aktiven DB

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

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

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

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

Laura Elisabeth Hombach 23

Beispiel – Beeinflussungsfreiheit (2)

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

Page 24: Konfluenz in aktiven DB

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

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

Laura Elisabeth Hombach 26

Bemerkung

• Kommutativität hinreichende Bedingung

• Ausgabe von Werten welche konfluent sind

Page 27: Konfluenz in aktiven DB

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

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

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

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

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

Page 32: Konfluenz in aktiven DB

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

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

Laura Elisabeth Hombach 34

Ausblick

• Implementierung des Konzeptes wünschenswert

• Kommutativität = beste bekannte Methode

Page 35: Konfluenz in aktiven DB

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