330 likes | 477 Vues
Friedrich – Schiller - Universität Jena Lehrstuhl für Datenbanken und Informationssysteme Seminar „Aktive Datenbanken“ Filterung von zusammengesetzten Ereignissen Ramon Fleischhauer. Gliederung. 1. Einleitung 2. Wichtige Begriffsdefinitionen
E N D
Friedrich – Schiller - Universität Jena Lehrstuhl für Datenbanken und Informationssysteme Seminar „Aktive Datenbanken“ Filterung von zusammengesetzten Ereignissen Ramon Fleischhauer
Gliederung 1. Einleitung 2. Wichtige Begriffsdefinitionen 3. Implementierungsmöglichkeiten zur Erkennung von Ereignissen 4. Zwei – Schritt – Verfahren zur Filterung von zusammengesetzten Ereignissen 5. Schlüsselkriterien für ein Filterverfahren 5.1 Filtermodell 5.2 Die innere Darstellung eines Filters 6. Zusammenfassung
1. Einleitung • Filterung: Prüfen aller eintretenden Ereignisse anhand von bestimmten festgelegten Kriterien • Hauptziel: Erkennung von zusammengesetzten Ereignissen • Ereignisse haben entscheidenden Einfluss auf ECA (Event – Condition – Action) • Ereignisdefinitionen und Ereigniserkennung sind ein wichtiges Thema in DB- Forschung
2. Grundlegende Begriffe Ereignisse: • „happening of interest“ ( Gehani et al ) • „Auftreten einer Situation, die eine möglicherweise automatische Reaktion erfordert“ ( Unland und Zimmer ) • Unterscheidung: primitive, zusammengesetzte Ereignisse primitive Ereignisse:
zusammengesetzte Ereignisse: • durch Kombination von Ereignissen (primitive, zusammengesetzte) anhand bestimmter Operatoren • Beispiele: - Konjunktion/ Disjunktion: z = x und/ oder y - Sequenz : z = x muss vor y eintreten - Negation: nicht x innerhalb eines bestimmten Zeitintervalles - …
Filterverfahren benötigen 2 Schritte zur Filterung von zusammengesetzten Ereignissen • „consumption mode“: wie primitive Ereignisinstanzen zur Bildung von zus. Ereignissen verwendet und anschließend gelöscht werden: recent, chronicle, continuous, cumulative
3. Implementierungsmöglichkeiten • verschiedene Möglichkeiten zur Darstellung und Erkennung von Ereignissen via Graphen Bäumen Automaten Petri - Netze
Implementierung via Graphen • gerichteter azyklischer Graph (DAG) • jedes zusammengesetzte Ereignis als DAG dargestellt • Knoten = Ereignisbeschreibungen • Kanten = Ereigniszusammensetztungen • tritt primitives Ereignis ein werden Vaterknoten informiert • Beziehungen zu Ereignissen werden gespeichert
Implementierung via Graphen • „event graph“ - in Sentinel • Kombination von Eventbäumen zu Graphen • Blätter = primitive Ereignisse • Knoten = enthalten Operatoren, separaten Speicher für „Kinder“ • Pfeile im Graph repräsentieren Ereigniserkennung (bottom up)
V. Krishnaprasad; Event detection for supporting active capability in an OODMS: Semantics, architecture and implementation; page 78; University of Florida; 1994
Implementierung via Bäumen • „detection tree“ • aufgebaut aus „detection graph‘ s“ • eigener Baum pro zusammengesetztem Ereignis • Knoten entweder Blatt, Wurzel, Operator • Ereigniserkennung: bottom up • Operatorknoten verwalten primitive Ereignisse • Wurzel ergibt zusammengesetztes Ereignis U. Jaeger, J. K. Obermaier; Parallel Event Detection in Active Database Systems: The Heart of the Matter; page 4; Humboldt-Universität zu Berlin
Implementierung via Automaten • durch deterministische endliche Automaten (DFA) • jeder Zustand stellt Ereignis dar • Übergang zwischen 2 Zuständen ist Ereigniseintritt • step – by – step • von COMPOSE verwendet: • Implementierung der Eventausdrücke mittels Automaten • Input = primitiven Ereignisse • Automaten durch „Sub- Automaten“ konstruiert • 3- Zustandsautomat (Start-, Akzeptanz-, Nichtakzeptanzzustand)
Implementierung via Automaten • zusammengesetztes Ereignis erkannt, wenn Automat Akzeptanzzustand erreicht hat • Erweiterung der Automaten mit Datenstrukturen zur Speicherung von Informationen G. Lörincze; Modellierung, Analyse und Simulation von Regeln in der aktiven Schicht ALFRED; Diplomarbeit; Universität Bern; 1996
Implementierung via Petri – Netze (PN) • in SAMOS verwendet • Erweiterung: „coloured“ PN • Aufbau: Input place = primitive Ereignisse, Output = zus. Ereignis • token = zur Markierung, enthält aktuelle Ereignisparameter • guard functions = zur Evaluation • Algorithmus: step – by – step • geordnete Reihenfolge aller primitiven Ereignisse muss bekannt sein
Implementierung via Petri – Netze • wenn alle Inputs vorhanden, guard function positiv evaluiert, dann „feuert“ transition zum Output zusammengesetzte Event S. Gatziu, K.R. Dittrich;Detecting composite events in active database syxstems using Petri Nets; to appear in : Proc. Of the 4th Intl. Workshop on Research Issues in Data Engineering: Active Database Systems, Houston, Texas, February 1994, page 5
S. Gatziu, K.R. Dittrich; Events in an Active Object-Oriented Database System; to appear in Proc. of the 1.Intl. Workshop on Rules in Database Systems; page 8; Edinburgh,August 93.
Probleme bestehender Verfahren • Automat: Anzahl der Zustände Erreichbarkeitsanalyse, Zustandsminimierung • Bäume/ Graphen: betrachtet jedes primitive Ereignis und damit unnötige Filteroperationen • PN: in SAMOS nur chronicle consumption mode
4. Zwei - Schritt - Verfahren • Grundlage: baumbasierter Ansatz, Matchingalgorithmus, Verwendung der Idee der partiellen Ereignisverarbeitung, • Zusammengesetze Ereignisfilterung in zwei Schritten: • 1. Schritt : Erkennung primitiver Ereignisse • 2. Schritt: Ergebnisse = Input für zusammengesetzte Ereignisfilterung • betrachten primitiven Ereignisse : e1, e2, e3 • Nutzer A : E(a) = e1 • Nutzer B : E(b) = e1 und e2 • Nutzer C : E(c) = Sequenz(e2;e3)
Erweiterung des Zwei – Schritt - Verfahrens • Erweiterung des Verfahrens 1 – Schritt – Verfahren • bedeutet: 2. Schritt in den 1. Schritt integriert wird Zeiteinsparung • 2 Möglichkeiten: - Ein – Schritt – Verfahren mit Löschen - Ein – Schritt – Verfahren ohne Löschen: - alle Teilprofile werden im Baum gehalten - Blätter werden um Listen erweitert - 2 Zustände: aktiv (o), inaktiv (x) • betrachten primitiven Ereignisse : e1, e2, e3 • Nutzer A : E(a) = e1 • Nutzer B : E(b) = e1 und e2 • Nutzer C : E(c) = Sequenz(e2;e3)
1 – Schritt – Verfahren mit Löschen: • nur aktuell relevante Teilprofile im Baum gehalten • abgearbeitete Teilprofile werden gelöscht • Aufnahme von Teilprofilen sobald sie relevant werden • Performancebewertung der 3 Verfahren: • beste Verfahren ist das 1 - Schritt – ohne Löschen • dann das 2 – Schritt – Verfahren • schlechteste Verfahren ist 1 – Schritt – Verfahren mit Löschen
5. 1 Filtermodell • determiniert die Struktur der Ereignisfilterkomponenten • wie Ereignisdefinitionen und Filterausdrucksdefinitionen • gutes Modell ist flexibel jede gewünschte Funktionalität zu formen • Auswirkungen auf: - Performance - Allgemeingültigkeit - Ausdrucksmächtigkeit
5. 2 Innere Darstellung des Filters • determiniert die Struktur und Ausführung des Filtermechanismus • Ausführung durch Algorithmus • Datenstruktur zur Erkennung von Events ( Graph-, Baum-, Petri-Netz- oder Automatenbasiert) • Hauptauswirkungen: - Performance
6. Zusammenfassung • verschiedenen Systeme benutzen verschiedene Spezifikationen • verschiedene Möglichkeiten der Implementierung • 2 Schritte für zusammengesetzten Ereigniserkennung • Ereignisfilterung nicht nur in aktiven DB wichtig • Trend: parallele Erkennung zusammengesetzter Ereignisse vorallem bei Bäumen
Literaturverzeichnis • N. H. Gehani, H. V. Jagadish, and O. Shmueli. Composite event specification in active databases: Model & implementation. In Proceedings of the 18th International Conference on Very Large Data Bases, 1992. • S. Chakravarthy, V. Krishnaprasad, E. Anwar, S.K. Kim, "Composite events for active databases: semantics, contexts and detection" in Proceedings of the 20th International Conference on Very Large Data Bases, VLDB ’94, Santiago, Chile, pp. 606-617, 1994. • N.W. Paton, O. Diaz, "Active database systems" , Technical report, Department of Computer Science, University of Manchester, England, 1994. • S. Chakravarthy and D. Mishra. Snoop: An expressive event specification language for active databases. , Technical Report UF-CIS-TR-93-007, University of Florida, Gainesville, Department of Computer and Information Sciences, March 1993. • S. Gatziu and K. R. Dittrich. SAMOS: An Active Object-Oriented Database System. IEEE Quarterly Bulletin on Data Engineering, Special Issue on Active Databases, 15(1-4):23–26, December 1992. • Ehab Al-Shaer. High-Performance Event Filtering: Survey and Evaluation. Technical Report ODU-CS-96, Computer Science Department, Old Dominion University, March 1996. • A. Hinze: Efficient filtering of composite events. In Proceedings of the 20th British National Conference on Databases (BNCD’03), Coventry, UK, July, 2003 • D. Zimmer, R. Unland: The Formal Foundation of the Semantics of Complex Events in Active Database Management Systems. Cooperative Computing & Communication Laboratory, Technical Report Nummer 22/1997, Paderborn, Deutschland, 1997. • E. S. Al-Shaer; High-performance Event Filtering for Distributed Dynamic Multi-point Applications: Survey and Evaluation; Computer Science Department, Old Dominion University, March 1996. • E. S. Al-Shaer; Event Filtering Framework: Key Criteria and Design Trade-offs; in the IEEE 21st International Conference on Computer Software and Application, held in Washington, D.C., USA, August 1997 • S. Chakravarthy, V. Krisshnaprasad, E. Anwar, and S. K. Kim. Anatomy of a Composite Event Detector. Technical Report CIS TR-93-039, University of Florida, December 1993 • S. Chakravarthy, V. Krishnaprasad, E. Anwar, and S. K. Kim. Composite Events for Active Databases: Semantics, Contexts and Detection. In Proceedings of the 20th VLDB Conference, p. 606-617, Sep. 1994 • N. H. Gehani, H. V. Jagadish, and O. Shmueli. Event Specification in an Active Object-Oriented Database. In Proceedings of the ACM SIGMOD International Conference on Management of Data, p. 91-90, 1992. • S. Bittner. Implementierung und Analyse von Filterverfahren für parametrisierbare zusammengesetzte Ereignisse. Diplomarbeit, Freie Universität Berlin, Institut für Informatik, 2004 • S. Chakravarthy. Sentinel: An object-oriented DBMS with event-based rules. In Proceedings of the ACM SIGMOD International Conference on Management of Data, Tucson, AZ, 1997. • S. Gatziu and K. R. Dittrich. Detecting composite events in active database systems using petri nets. In Proceedings of the RIDE Workshop on Research Issues in Data Engineering, Houston, TX, 1994.