Konfluenz in aktiven db
Download
1 / 35

Konfluenz in aktiven DB - PowerPoint PPT Presentation


  • 100 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Konfluenz in aktiven DB' - hoshi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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


Gliederung 1
Gliederung (1)

  • „Was bedeutet Konfluenz“ – an einem Beispiel

  • Lösungsansätze

    • RAG

    • Kommutativität

    • Erweiterte Aktionen

    • Beeinflussungsfreiheit

  • Laufzeitüberwachung

Laura Elisabeth Hombach


Gliederung 2
Gliederung (2)

  • Behandlungs-Möglichkeiten bei nicht konfluenten DB

  • Partielle Konfluenz

  • Umgang von DBMS mit Konfluenz

  • Zusammenfassung

  • Ausblick

  • Literatur

Laura Elisabeth Hombach


Problemstellung
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


Ungeordnete paare
Ungeordnete Paare

  • r1, r2 R wobei gilt:

  • r1 < r2  P und

  • r2 < r1 P gelten nicht

Laura Elisabeth Hombach


Beispiel 1
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


Beispiel 2
Beispiel (2)

  • Es greifen sowohl r1 als auch r2

  • Bei der Ausführungsreihenfolge r1 r2sinkt der Buchpreis auf 5,10 €

  • Bei der Ausführungsreihenfolge r2 r1sinkt der Buchpreis auf 5,20 €

  • Die Regelmenge ist nicht konfluent

Laura Elisabeth Hombach


Definition konfluenz
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


L sungsans tze
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


Erl uterung
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


Regelausf hrungsgraph rag
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 rRT

  • Ecken S = (DB, RT)

  • SI = Ausgangszustand

Laura Elisabeth Hombach


Rag 2

SI

r1

r2

S1

S2

S‘

RAG (2)

Laura Elisabeth Hombach


Kommutativit t
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


Kommutativit t im rag

SI

r1

r2

S1

S2

r2

r1

S‘

Kommutativität im RAG

Laura Elisabeth Hombach


Erweiterte aktionen 1
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


Ea im rag

SI

r2

r1

S1

S2

r

r1

r2

r

S1‘

S2‘

EA im RAG

Laura Elisabeth Hombach


Erweiterte aktionen 2
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


Erweiterte aktionen im rag

SI

r2

r1

S1

S2

EA1

EA2

r2

r1

S1‘

S2‘

EA2

EA1

S‘

Erweiterte Aktionen im RAG

Laura Elisabeth Hombach


Konfluenz erweiterte def
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


Kommutativit t weitere def
Kommutativität – weitere Def.

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

Laura Elisabeth Hombach


Beeinflussungsfreiheit
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


Beispiel beeinflussungsfreiheit 1
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ückBuchpreis 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


Beispiel beeinflussungsfreiheit 2
Beispiel – Beeinflussungsfreiheit (2)

  • Buchpreis = 10€

  • Anzahl = 2

  • Erscheinungsdatum = 22.06.2006

Laura Elisabeth Hombach


Beispiel beeinflussungsfreiheit 3
Beispiel – Beeinflussungsfreiheit (3)

  • Bei der Ausführungsreihenfolge r1 r2Buchpreis = 5€ und r, r* und r2 werden nicht aktiv

  • Bei der Ausführungsreihenfolge r2 r1Buchpreis = 5€ und r, r* und r2 werden nicht aktiv

Laura Elisabeth Hombach


Beispiel beeinflussungsfreiheit 4
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


Bemerkung
Bemerkung

  • Kommutativität  hinreichende Bedingung

  • Ausgabe von Werten welche konfluent sind

Laura Elisabeth Hombach


Laufzeit berwachung
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


Behandlungs m glichkeiten bei nicht konfluenten db
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


Partielle konfluenz 1
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


Partielle konfluenz 2
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


Partielle konfluenz im rag

SI

r1

r2

S1

S2

EA1

EA2

r2

r1

S1‘

S2‘

EA1

EA2

r1,EA1, r2,EA2Sig(T‘)

r1,EA1, r2,EA2Sig(T‘)

r1,EA1, r2,EA2Sig(T‘)

1S‘

S‘

2S‘

Partielle Konfluenz im RAG

Laura Elisabeth Hombach


Umgang von dbms mit konfluenz
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


Zusammenfassung
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


Ausblick
Ausblick

  • Implementierung des Konzeptes wünschenswert

  • Kommutativität = beste bekannte Methode

Laura Elisabeth Hombach


Literatur
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

Laura Elisabeth Hombach


ad