Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität...

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

Transcript of Vorstellung des Streamkonzepts Datenbanken und Informationssysteme Technische Universität...

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