23
Vorstellung des Vorstellung des Streamkonzepts Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester 2005 Benjamin Mock

Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Embed Size (px)

Citation preview

Page 1: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Vorstellung des StreamkonzeptsVorstellung des Streamkonzepts

Datenbanken und Informationssysteme

Technische Universität KaiserslauternLehrgebiet Datenverwaltungssysteme

Sommersemester 2005

Benjamin Mock

Page 2: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Inhalt

• Anwendungsgebiete von Datenströmen

• Eigenschaften von Datenströmen

• Anfragen an Datenströme

• Sliding Windows

• Datenstrom-Management-Systeme (DSMS)– STREAM, AURORA, SPEX

• Load Shedding

2

Page 3: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Anwendungsgebiete

• Nachrichtenüberwachung– Presse– Börse– Meteorologie

• Multimediaströme

• Netzwerkverwaltung

• Verkehrsüberwachung

3

Page 4: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Datenströme

• potentiell unendlich• Ankunftsraten

– unvorhersagbar– unbeeinflussbar

• benötigen Echtzeit-Verarbeitung• Unterscheidung zwischen

– Punkt- / Tupelströme

– XML-Ströme

Speicherung nureingeschränkt möglich!

4

Page 5: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Datenströme II

• push-Kommunikation• Daten durch mehrere externe Quellen

(Sensoren, …)• Ergebnisse ebenfalls als Datenstrom• Information des Benutzers

– zu bestimmten Zeitpunkten– bei anormalen Werten– bei jedem Tupel

• DBMS-Active, Human-Passive = DAHP

5

Page 6: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS DBMS

persistent

transient

beliebig

Daten

exakt

beliebig

transient

persistent

nur hinzufügen

Anfragen

Evtl. angenähert

Einpass-Verfahren

Daten

Anfragen

Änderungen

Indizierung

Ergebnisse

Datenzugriff

6

Page 7: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Anfragen

• einmalige Anfragen– wird aktiv vom Benutzer einmalig gestellt– Schnappschuss des Zustands zu einem Zeitpunkt

• kontinuierliche Anfragen– befindet sich im System und wird kontinuierlich an

neu ankommende Daten gestellt– Auswertung über einen Zeitraum

7

Page 8: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Anfragen II

• Ad-hoc-Anfrage– zu beliebigem Zeitpunkt gestellt– frühere Daten?

• ignorieren• Zusammenfassungen speichern

• vordefinierte Anfrage– bekannt, bevor Daten ankommen– kontinuierliche oder geplante einmalige Anfrage

8

Page 9: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Sliding Windows

• Problem: blockierende Operationen – join, avg, max, min …

• Lösung: Sliding Windows– zeitbasiert– tupelbasiert– partitioniert

9

Page 10: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Sliding Windows II

• selbstbeschreibende Technik• deterministisch: Anfrage über die selben

Daten bringt gleiches Ergebnis• nur neue Daten in Auswertung• Benutzer

– versteht die Erstellung des Ergebnisses– kann Qualität und Exaktheit in etwa abschätzen

• gute Möglichkeit angenäherte Ergebnisse zu produzieren

10

Page 11: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: STREAM

• STanford stREam datA Manager – Anfragesprache: CQL continuous query language

– Bearbeitung kontinuierlicher Anfragen über Datenströme und Relationen

• Anfrageplan aus 3 Komponenten– Anfrage-Operatoren– Inter-Operator-Warteschlangen– Synopsen

• Beispiel:

11

SELECT *FROM R, SWHERE R.name = S.name

Page 12: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: STREAM-Komponenten

• Operatoren– ähneln denen in DBMS– lesen Eingabeströme– erstellen Ausgabestrom

• Warteschlangen– verbinden Operatoren untereinander

• Synopsen– Zusammenfassung bisheriger Daten– Trade-off zwischen Präzision und Speicher– Sliding Windows als Synopsen

12

Page 13: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: STREAM III

• Zusammenspiel der Operatoren

13

Page 14: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: AURORA

• Kollaboration von Brandeis University, Brown University, MIT

• unterstützt kontinuierliche / Ad-hoc-Anfragen, Sichten

• Anfragesprache: SQuAl für Stream Query Algebra – Box-and-Arrow-Modell– sieben Operatoren

• filter, map, union, bsort, aggregate, join, resample

14

Page 15: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: AURORA II

• Box-and-Arrow-Modell

15

Page 16: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

XPATH

• Adressierung von Teilen eines XML-Dokuments mittels Pfad-Notation

<journal> <title>databases</title> <editor>anna</editor> <authors> <name>anna</name> <name>bob</name> </authors> <price /></journal>

Kontextknoten: journalLokalisierungspfad: child::*

title, editor, authors, price16

Page 17: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

XPATH Achsensymmetrie

Vorwärtsachsen Rückwärtsachsen

child parent

descendant ancestor

following-sibling preceding-sibling

following preceding

descendant-or-self ancestor-or-self

17

Page 18: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

XML-Parser: DOM vs. SAX

• DOM = Document Object Model

• SAX = Simple API for XML

• programmiersprachenunabhängiger Zugriff auf XML-Dokumente

- hoher Bedarf an Hauptspeicher

+ beliebiger Zugriff

nicht geeignet für Datenströme geeignet

+ geringerer Bedarf an Hauptspeicher

- nur sequentieller Zugriff

18

Page 19: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

XML-Parser: SAX Beispiel

• Jedes XML-Token ist SAX-Ereignis– öffnende Markierung <impressum>– Text– schließende Markierung </impressum>

• entsprechender Eventhandler für jedes Ereignis

<impressum> Version 1.0 of the Simple API for XML (SAX) </impressum>

19

Page 20: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: SPEX

• Streamed and Progressive Emulator for XPATH

• wertet vorwärtsgerichtete XPATH-Anfragen gegen XML-Ströme aus

• überführt diese Anfragen in Automatennetzwerke

• Auswertung in 4 Schritten

20

XPATHAnfrage

Forward XPATHAnfrage

logischerAnfrageplan

physischerAnfrageplan

Ausgabe-strom

Page 21: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

DSMS: SPEX Anfrageplan

• Jedes Token des Eingabestroms entspricht SAX Ereignis

• Automaten– nutzen Stack um Position der

XML-Elemente zu bestimmen– führen genau einen

Lokalisierungsschritt durch– annotieren Strom um

Kontextknoten zu markieren, oder leiten unverändert weiter

/descedant::a[child::b[descendant::d or child::e]]following-sibing::c

21

Page 22: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Load Shedding

• Problem: CPU zu langsam, Hauptspeicher zu klein für ankommenden Datenstrom = Überlast

• Lösung: kontrolliertes Verwerfen von Daten ohne hohen Genauigkeitsverlust = Load Shedding

• am Beispiel Aurora: Daten verwerfen, aber

– wann– wo im Anfrageplan– wie viel

• zufällig• semantisch mit QoS Graphen

– Latency-Graph

– Loss-Tolerance-Graph

– Value-Based-Graph

22

Page 23: Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Sommersemester

Zusammenfassung

bekannte Techniken aus traditionellen DBMS nicht einfach übertragbar

• keine Speicherung vor Verarbeitung möglich• push-Kommunikation• Einpass-Verfahren, weil nur einmaliger

sequentieller Zugriff auf Daten• Echtzeitverarbeitung• exakte Anfrageauswertung nicht möglich bei

– Ad-hoc-Anfragen bezüglich vergangener Daten– Überlast– aggregierenden oder sortierenden Operationen

23