Seminar 1912 im SS 2005 Neue Techniken der Anfragebearbeitung: Datenströme, kontinuierliche Anfragen und adaptive Auswertung Thema 7 STREAM: The Stanford Stream Data Manager Udo Werner FernUniversität in Hagen Fachbereich Informatik, Praktische Informatik IV Agenda Motivation STREAM Systemüberblick Zielstellung von STREAM Beispielszenario CQL Vorstellung der DSMS-Anfragesprache Sprachkonzepte DSMS-Konzepte in STREAM Anfragepläne Scheduling Resourcen-Verwaltung Näherungsverfahren Demonstration Zusammenfassung und Diskussion SS 2005: Seminar 01912, Thema 7 2 FernUniversität in Hagen Motivation: STREAM Systemüberblick STREAM: STanford stReam datA Manager [ABB+03] SS 2005: Seminar 01912, Thema 7 3 FernUniversität in Hagen Motivation: Zielsetzung von STREAM besondere Eigenschaften von Datenströmen nicht-persistent gespeicherte Daten potentiell unendliche Anzahl von Elementen kontinuierliche Anfragen universelle Verwendbarkeit Einbindung beliebiger Datenströme flexible Anfrageverarbeitung einfache Bedienung intuitive Anfragedefinition geringer Lernaufwand hohe Leistungsfähigkeit [ABB+04] SS 2005: Seminar 01912, Thema 7 4 FernUniversität in Hagen Motivation: Beispielszenario – Überblick SS 2005: Seminar 01912, Thema 7 5 FernUniversität in Hagen Motivation: Beispielszenario – Datenströme SS 2005: Seminar 01912, Thema 7 6 FernUniversität in Hagen CQL: Vorstellung der DSMS-Anfragesprache CQL: Continous Query Language Basis: SQL einfacher Umstieg, wenn man SQL bereits beherrscht Relation-zu-Relation-Operatoren wie bei SQL Erweiterungen für Anfragen an Datenströme Strom-zu-Relation-Operatoren Relation-zu-Strom-Operatoren [ABW03, ABB+04] SS 2005: Seminar 01912, Thema 7 7 FernUniversität in Hagen CQL: Sprachkonzepte – Strom-zu-Relation-Operatoren sliding windows: Fenster mit begrenzter Anzahl von Elementen zeitbasierte Fenster Auswahl der Elemente im Fenster anhand ihres Alters (seit T Zeiteinheiten) Sonderfälle: „Now“ und „Unbounded“ anzahlbasierte Fenster bestimmte Anzahl von Elementen im Fenster (letzte N Elemente) Sonderfall: „Unbounded“ unterteilte Fenster Aufteilung in Teilströme anhand Attribut-Übereinstimmung jeder Teilstrom in einem anzahlbasierten Fenster Ergebnis ist Vereinigung der Teilfenster Option: Sampling Parameter für Anteil zufällig ausgewählter Elemente SS 2005: Seminar 01912, Thema 7 8 [MWA+03] FernUniversität in Hagen CQL: Sprachkonzepte – Relation-zu-Strom-Operatoren Zustandsänderung einer Relation als Datenstrom Istream (Input-Stream) Folge zur Relation zugefügter Elemente Dstream (Delete-Stream) Folge aus der Relation entfernter Elemente Rstream (Relation-Stream) Inhalt der gesamten Relation zu einem Zeitpunkt [MWA+03] SS 2005: Seminar 01912, Thema 7 9 FernUniversität in Hagen CQL: Sprachkonzepte – Beispiele Select Istream(*) From relationA [Range Unbounded] As A Where A.attribut1>2000 Select Rstream(*) From relationA [Now] As A Where A.attribut1>2000 Vereinfachung: Select * From relationA As A Where A.attribut1>2000 SS 2005: Seminar 01912, Thema 7 10 FernUniversität in Hagen DSMS-Konzepte: Anfragepläne Erzeugung von Anfrageplänen aus CQL-Definitionen intern keine Unterscheidung von Relationen und Datenströmen Sequenzen von Wertepaaren mit Zeitstempel und Markierung (+,-) Komponenten der Anfragepläne interne Operatoren Eingang von einer oder mehreren Warteschlangen Verarbeitung, ggf. Ablage von Ergebnissen in Zwischenspeichern Ausgabe in eine Warteschlange Warteschlangen enthalten bestimmte Sequenzen von Wertepaaren Verbindung zwischen zwei Operatoren Zustandsspeicher Operatoren zugeordnet [ABW03, ABB+04] SS 2005: Seminar 01912, Thema 7 11 FernUniversität in Hagen DSMS-Konzepte: Beispiel-Anfrageplan Select u.Name, a.AbsKontoID From ausgehendeUeberweisungen [Range 14 Days] As a, Ueberwachungsliste [Rows 1000] As u Where a.Betrag > 15000 AND a.Absender = u.Name SS 2005: Seminar 01912, Thema 7 12 FernUniversität in Hagen SS 2005: Seminar 01912, Thema 7 13 FernUniversität in Hagen DSMS-Konzepte: Scheduling kontrollierte Ausführung der Anfragepläne Round Robin jeder Operator des Planes kommt einmal pro Runde zur Ausführung FIFO (first in first out) eingangsgesteuert: Verarbeitung nach Eingangsreihenfolge stets kompletter Pfad bis zum Ausgang, dann nächster Eingang Greedy „gefräßigste“ Operatoren zuerst Selektivität wird statistisch ermittelt Chain Zusammenfassung von Operatoren zu Blöcken „gefräßigste“ Blöcke zuerst [MWA+03, ABB+04, BBDM03] SS 2005: Seminar 01912, Thema 7 14 FernUniversität in Hagen DSMS-Konzepte: Ressourcenverwaltung Leistungsanforderungen kein Sekundärspeicher: begrenzte Speicherressourcen zeitnahe Antworten: begrenzte Rechenressourcen Anfrageoptimierung äquivalente Umformulierung (analog SQL, z.B. “Selections below Joins”) Anpassung der Pläne Änderung von Anfragen Änderung der Umgebungsbedingungen (z.B. Frequenz der Datenströme) Komponenten Executor: Ausführung von Anfrageplänen und Rückgabe der Ergebnisse Profiler: Ermittlung von Eigenschaften von Plänen und Datenströmen Reoptimizer: Optimierung der Anfragepläne und Speicherverwaltung [ABB+04] SS 2005: Seminar 01912, Thema 7 15 FernUniversität in Hagen DSMS-Konzepte: Ressourcenverwaltung (Forts.) Redundanz-Minimierung gemeinsame Nutzung von Zustandsspeichern Stubs statt Zustandsspeicher für Elementzugriff des Operators Stores, die die Elemente enthalten Manager, die für jeden Stub eine Art View verwalten Beispiel: Zugriff mehrerer Operatoren auf gleiches Fenster je Operator ein Stub ein Store für alle Elemente des Fensters Nutzung von Einschränkungen („constraints“) Reduzierung von verzichtbarem Inhalt in Zustandsspeichern im Voraus bekannte Abhängigkeiten von Elementen statistisch zur Laufzeit ermittelte Muster [ABB+04] SS 2005: Seminar 01912, Thema 7 16 FernUniversität in Hagen DSMS-Konzepte: Beispiel Ressourcenverwaltung Zusätzliche Anfrage: Select AbsKontoID, SUM(Betrag) From ausgehendeUeberweisungen [Range 14 Days] SS 2005: Seminar 01912, Thema 7 17 FernUniversität in Hagen SS 2005: Seminar 01912, Thema 7 18 FernUniversität in Hagen SS 2005: Seminar 01912, Thema 7 19 FernUniversität in Hagen DSMS-Konzepte: Näherungsverfahren unvorhersehbare Änderungen können System überlasten Bursts von zu verarbeitenden Elementen Dauerhafter Anstieg der Frequenz viele komplexe Anfragen mit großem Speicherbedarf selbst durch normale Optimierung kein Ausweg Annäherung bei CPU-Überlastung load-shedding („Last-Abwurf“) Optimierer fügt automatisch Sampling-Operatoren ein Anpassung der Fenstergröße Annäherung bei Speicher-Überlastung [ABB+04] SS 2005: Seminar 01912, Thema 7 20 FernUniversität in Hagen Zusammenfassung und Diskussion einfache Bedienbarkeit CQL ähnlich SQL intuitive Erweiterungen dynamische Anpassung erhält Leistungsfähigkeit Anpassung des Schedulings Optimierung der Anfragepläne Redundanzminierung Näherungsverfahren SS 2005: Seminar 01912, Thema 7 21 FernUniversität in Hagen Referenzen [ABB+03] Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Keith Ito, Rajeev Motwani, Itaru Nishizawa, Utkarsh Srivastava, Dilys Thomas, Rohit Varma, und Jennifer Widom. STREAM: The Stanford Stream Data Manager. IEEE Data Eng. Bull., 26(1): Seiten 19-26, 2003. [ABB+04] A. Arasu, B. Babcock, S. Babu, J. Cieslewicz, M. Datar, K. Ito, R. Motwani, U. Srivastava, J. Widom. STREAM: The Stanford Data Stream Management System. Erscheint in M. Garofalakis, J. Gehrke, and R. Rastogi, editors, Data Stream Management: Processing High-Speed Data Streams, Springer-Verlag, 2004. [ABW03] Arasu, Arvind; Babu, Shivnath; Widom, Jennifer. The CQL Continuous Query Language: Semantic Foundations and Query Execution. Technical Report, The Stanford University Database Group, 2003, URL: http://dbpubs.stanford.edu/pub/2003-67 . [BBDM03] Babcock, Brian; Babu, Shivnath; Datar, Mayur; Motwani, Rajeev. Chain: Operator Scheduling for Memory Minimization in Data Stream Systems, Proc. of the ACM Intl Conf. on Management of Data (SIGMOD 2003) [MWA+03] Rajeev Motwani, Jennifer Widom, Arvind Arasu, Brian Babcock, Shivnath Babu, Mayur Datar, Gurmeet Singh Manku, Chris Olston, Justin Rosenstein, und Rohit Varma. Query processing, approximation, and resource management in a data stream management system. In CIDR, 2003. SS 2005: Seminar 01912, Thema 7 22 FernUniversität in Hagen