Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Data Streams Thema: Operatoren auf Data Streams Ou Yi Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme.

Ähnliche Präsentationen


Präsentation zum Thema: "Data Streams Thema: Operatoren auf Data Streams Ou Yi Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme."—  Präsentation transkript:

1 Data Streams Thema: Operatoren auf Data Streams Ou Yi Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme Seminar Datenbanken und Informationssysteme im Sommersemester 2005

2 Folie Januar 2014Operatoren auf Data Streams Überblick Einleitung Probleme der Strom-Verarbeitung Semantik der Operatoren STREAM Aurora Join-Operatoren Zusammenfassung

3 Folie Januar 2014Operatoren auf Data Streams Einleitung Merkmale des Datenstrommodells kontinuierlich, potenziell hohe Ankunftsrate potenziell unendlich lang Reihenfolge kann verfälscht sein Grundkonzepte gleitendes Fenster (endliche Teilmenge) Zeitstempel (implizit & explizit) Klassifikation der Anfragen kontinuierliche Anfragen vs. einmalige Anfragen vordefinierte Anfragen vs. "ad hoc"-Anfragen DSMS: rechtzeitige Auswertung der kontinuierlichen Anfragen (eventuell auch Funktionalität von DBMS)

4 Folie Januar 2014Operatoren auf Data Streams Probleme der Strom-Verarbeitung Exakte Antwort unmöglich >> Approximierung Blockierung blockierende Operatoren (z. B. Aggregat-Operator) nicht-blockierende Operatoren (z. B. Filter) >> nicht-blockierende Verfahren + Fenstertechnik verfälschte Reihenfolge (expliziter Zeitstempel) >> Pufferung und Sortierung Kombination mit Relationen unterschiedliches Datenmodell und Verarbeitungsmodell

5 Folie Januar 2014Operatoren auf Data Streams Semantik der Operatoren in STREAM Ziel: kontinuierlichen Anfragen auf Datenströmen und Relationen Def.: Strom S eine möglicherweise unendliche Multimenge von Elementen Datenanteil s: feste Attributmenge Zeitstempel t: Zeitdomäne T, diskret und geordnet Def.: Relation R eine Abbildung von einer Zeitdomäne auf eine endliche, aber unbegrenzte Multimenge von Tupeln zu jedem Zeitpunkt t T bestimmt R eine Multimenge R(t) StrömeRelationen Strom-zu-Relation Relation-zu-Strom Relation-zu-Relation

6 Folie Januar 2014Operatoren auf Data Streams STREAM - Operatorklassen Implementierte Operatoren Strom-zu-Relation-Opertoren seq-window (zeitbasiert, tupelbasiert und partitioniert) Relation-zu-Strom-Operatoren i-stream, d-stream, r-stream Relation-zu-Relation-Operatoren select, project, joins, union, intersect, aggregate etc. abgeleitet vom Relationenmodell, ähnliche Semantik System-Operatoren für die Semantik einer Anfrage irrelevant isolieren Anfrage-Operatoren von Aspekten der unteren System- Ebenen

7 Folie Januar 2014Operatoren auf Data Streams STREAM – Strom-zu-Relation-Operatoren Zeitbasiertes Fenster Eingabe: Strom S, Parameter: Zeitintervall Z, Ausgabe: Relation R Extremfall Z = 0, Fenster = [t, t] Beispiel: Eingabe-Strom-Schema: Eingabe-Strom:,,,,,,,... Parameter: Z = 2 [max(t-Z, 0), t]:[0, 0][0, 1][0, 2][1, 3][2, 4] Ausgabe-Relation: R(t) R(0)R(1)R(2)R(3)R(4)...

8 Folie Januar 2014Operatoren auf Data Streams STREAM – Strom-zu-Relation-Operatoren (2) Tupelbasiertes Fenster Eingabe: Strom S, Parameter: Integer N, Ausgabe: Relation R R(t): die jüngsten N Tupel Beispiel: Eingabe-Strom-Schema: Eingabe-Strom:,,,,,,,... Parameter: N = 2 Partitioniertes Fenster (tupelbasiert) zusätzlich eine Attributmenge (ähnlich zum GroupBy im RM) R(t): Vereinigung der tupelbasierten Fenster über allen Subströmen R(0)R(1)R(2)R(3)R(4)... or or

9 Folie Januar 2014Operatoren auf Data Streams STREAM – Relation-zu-Strom-Operatoren Rstream (relation stream) Eingabe R, Ausgabe S S immer dann, wenn s R(t) Beispiel: Eingabe-Relation R(t): Ausgabe-Strom:,,,,... Istream (insert stream) Dstream (delete stream) R(0)R(1)R(2)...

10 Folie Januar 2014Operatoren auf Data Streams STREAM – Relation-zu-Relation-Operatoren Keine Strom-zu-Strom-Operatoren Vorteil: Wiederverwendung der formalen Grundlagen und Implementierungstechniken des Relationenmodells StrömeRelationen Strom-zu-Relation Relation-zu-Strom Relation-zu-Relation

11 Folie Januar 2014Operatoren auf Data Streams Semantik der Operatoren - Aurora Strom-zu-Strom-System, Relationen nicht explizit unterstützt Anfrage-Algebra Stream Query Algebra Sieben primitive Operatoren Reihenfolgeirrelevant Filter, Map und Union ähnlich zu Selektion, Projektion und Mengenvereinigung im RM Reihenfolgesensitiv BSort, Aggregate, Join und Resample Ausführung mit begrenztem Speicherplatz und in begrenztem Zeitraum nur möglich, wenn eine Ordnung auf einem Attribut vorliegt (Beispiel: Join kann auf Sortierung basieren)

12 Folie Januar 2014Operatoren auf Data Streams Aurora - Reihenfolgespezifikation Reihenfolgespezifikation O = Order (On A, Slack n, GroupBy B 1,..., B m ) A: welches Attribut ist geordnet n (optional): die Anzahl der jüngeren Tupel, die vor einem verspäteten Tupel ankommen dürfen B 1,..., B m (optional): Partitionierung Beispiel Eingabe-Strom-Schema: (A, B) Eingabe-Strom:..., (1, x), (2, x), (2, y), (2, y), (5, x), (4, x), (5, y), (3, x), (6, x),... O = Order ( on A, Slack 1, GroupBy B ) in zwei Subströme (B = x und B = y) partitioniert erlaubt: (4, x), verworfen: (3, x)

13 Folie Januar 2014Operatoren auf Data Streams Aurora - BSort BSort Puffer-basierte approximierte Sortierung BSort (Assuming O) (S), mit O = Order (On A, Slack n, GroupBy B 1,..., B m ) O spezifiziert die Qualität der Ausgabe äquivalent zu n-Durchläufe-Bubblesort Puffer von n+1 Tupeln: immer das "kleinste" Tupel ausgeben je größer der Puffer, desto genauer die Sortierung, aber größere Verzögerung

14 Folie Januar 2014Operatoren auf Data Streams Aurora – BSort (2) BSort (Forts.) Beispiel: n = 2

15 Folie Januar 2014Operatoren auf Data Streams Aurora - Aggregate Aggregate Aggregate ( F, Assuming O, Size s, Advance i ) ( S ) O spezifiziert eine Ordnung für S Order (On A, Slack n, GroupBy B 1,..., B m ) F: Aggregat-Fkt in SQL-Stil oder UDF, auf Fenster Ausgabe-Tupel: ( A = a, B 1 = u 1,..., B m = u m ) + + ( F ( W ) ) W: Fenster spezifiziert durch s und i s: Fenstergröße bzgl. A, Eingabe-Tupel t mit t.A [a, a+s-1] i: Größe der Fensterbewegung Beispiel

16 Folie Januar 2014Operatoren auf Data Streams Aurora – Aggregate (2) Beispiel (Forts.) Eingabe-Strom-Schema: (StockId, Time, Price) berechne die stündlichen durchschnittlichen Preise für jede Aktie Aggregate(Avg(Price), Assuming O, Size 1 hour, Advance 1 hour)(S), mit O = Order(On Time, GroupBy StockId) (MSF, 2:00, 22) 10.(INT, 2:00, 16) 9. (IBM, 2:00, 17) 8. (IBM, 1:45, 13) 7. (INT, 1:30, 12) 6. (MSF, 1:30, 24) 5. (IBM, 1:30, 23) 4. (IBM, 1:15, 20) 3. (IBM, 1:00, 24) 2. (INT, 1:00, 16) 1. (MSF, 1:00, 20) MSF: 1-1:59 Tupel: 1, 6 INT: 1-1:59 Tupel: 2, 7 IBM: 1-1:59 Tupel: 3, 4, 5, 8 MSF: 2-2:59 Tupel: 11,... INT: 2-2:59 Tupel: 10,... IBM: 2-2:59 Tupel: 9,... Eingabe-Strom FensterAusgabe-Strom (MSF, 1:00, 22) 2. (INT, 1:00, 14) 1. (IBM, 1:00, 20)

17 Folie Januar 2014Operatoren auf Data Streams Join-Operatoren ressourcenaufwändig, potenziell alle Tupel der Eingabe zu durchlaufen, unmöglich für Strom-Verarbeitung klassische Algorithmen Nested-Loop-Join, Hash-Join, Sort-Merge-Join hash-basierte Joins auf Gleichheitsprädikat eingeschränkt Symmetrischer Hash-Join (SHJ) nach dem Prinzip des "Pipelining" Hauptspeicher-Algorithmus, für große Datenmengen nicht geeignet XJoin (Erweiterung von SHJ) nicht mehr auf den Hauptspeicher eingeschränkt behandelt unstabile Eingabe

18 Folie Januar 2014Operatoren auf Data Streams Join-Operatoren (2) sortierbasierte Joins nicht auf Gleichheitsprädikat eingeschränkt Sort-Merge-Join (SMJ) ganze Eingabe in der Sortierphase einlesen (blockierend) Progressive Merge Join (PMJ) nicht-blockierende Variante von SMJ kann schon in der Sortierphase Ergebnis-Tupel erzeugen mit Fenstertechnik kann auf Strom adaptiert werden (TPMJ)

19 Folie Januar 2014Operatoren auf Data Streams Join-Operatoren (3) Join in Aurora simuliert Band-Join der Relationenalgebra Join (P, Size s, Left Assuming O 1, Right Assuming O 2 ) (S 1, S 2 ) P: Join-Prädikat O 1 bzgl. A für S 1, O 2 bzgl. B für S 2 t S 1 und u S 2 werden verbunden, falls |t.A – u.B| s P(t, u) Beispiel: Aktienpreisinfos aus zwei Märkten, X und Y, mit Schema (StockId, Time, Price) finde Aktien-Paare, deren Preise innerhalb 10 Min in zwei Märkten gleich sind

20 Folie Januar 2014Operatoren auf Data Streams Join-Operatoren (4) Beispiel (Forts.): Join (P, Size 10 Min, Assuming Left O, Assuming Right O) (X, Y) wobei P(x, y) x.Price = y.Price und O = Order(On Time) XYAusgabe-Strom von Join 01. (IBM, 2:00, 3)01. (SMS, 1:55, 3)01. (IBM, 2:00, 3, SMS, 1:55, 3) 02. (MSF, 2:00, 1)02. (SAP, 1:55, 4)02. (IBM, 2:00, 3, SMS, 2:05, 3) 03. (INT, 2:00, 1)03. (BMW, 1:55, 5)03. (IBM, 2:05, 4, SAP, 1:55, 4) 04. (IBM, 2:05, 4)04. (DML, 1:55, 6)04. (IBM, 2:05, 4, SAP, 2:05, 4) 05. (MSF, 2:05, 2)05. (SMS, 2:05, 3)05. (IBM, 2:05, 4, SMS, 2:15, 4) 06. (INT, 2:05, 1)06. (SAP, 2:05, 4)06. (IBM, 2:05, 4, SAP, 2:15, 4) 07. (IBM, 2:10, 4)07. (BMW, 2:05, 5)07. (IBM, 2:10, 4, SAP, 2:05, 4) 08. (MSF, 2:10, 3)08. (DML, 2:05, 6)08. (IBM, 2:10, 4, SMS, 2:15, 4) 09. (INT, 2:10, 1)09. (SMS, 2:15, 4)09. (IBM, 2:10, 4, SAP, 2:15, 4) 10. (IBM, 2:15, 2)10. (SAP, 2:15, 4)10. (MSF, 2:10, 3, SMS, 2:05, 3) 11. (MSF, 2:15, 4)11. (BMW, 2:15, 5)11. (MSF, 2:15, 4, SAP, 2:05, 4) 12. (INT, 2:15, 1)12. (DML, 2:15, 6)12. (MSF, 2:15, 4, SMS, 2:15, 4) (MSF, 2:15, 4, SAP, 2:15, 4)...

21 Folie Januar 2014Operatoren auf Data Streams STREAM vs. Aurora Ähnlichkeit Stromorientiert, unterstützen die Auswertung kont. Anfragen auf DS Modellierung eines Stroms: feste Attributmenge und min. ein geordnetes Attribut explizite Zeitstempel (für Semantik eines Operators) Fenstertechnik Unterschied Unterstützung von Relationen Behandlung des Reihenfolgeproblems Fenster auf jedem geordneten Attribut (Aurora) STREAM: Aurora: (a 1,..., a m )

22 Folie Januar 2014Operatoren auf Data Streams Zusammenfassung Operatoren in DBMS sind im DSMS vorhanden und werden dort erweitert oder simuliert bei unendlicher Eingabe: Approximierung und Fenstertechnik Zeitstempel für Strom-Verarbeitung erforderlich Bestimmung des Fensters notiert die Reihenfolge, für blockierende Operatoren wichtig keine standardisierte "Strom-Algebra" verschiedene Mengen von Operatoren verschiedene Datentypen

23 Vielen Dank für ihre Aufmerksamkeit! Fragen?

24 Folie Januar 2014Operatoren auf Data Streams Zusatz Zusammenspiel der Operatoren im STREAM Beispiel: Aktienpreisinfos als Daten-Elemente s gehört zu S(StockId, Price), t gehört zur Zeitdomäne T finde solche Aktien, deren Preis höher als 50 ist CQL-Anfrage: Select Rstream(*) From S [Now] Where Price > 50 1.Strom-zu-Relation: zeitbasiertes Fenster mit Z = 0, [t,t] 2.Relation-zu-Relation: Filter nach der Bedingung Price > 50 3.Relation-zu-Strom: Rstream

25 Folie Januar 2014Operatoren auf Data Streams Zusatz Zusammenspiel der Operatoren im Aurora Daten fließen durch einen azyklischen gerichteten Graph von Operatoren Beispiel generiere eine Nachricht, wenn die Preise von mehr als m Aktien gleichzeitig über eine Grenze k gehen. Eingabe-Strom: (StockId, Time, Preis) Filter (Price k) Aggregate (CNT, Assuming O, Size 1, Advance 1) Filter (CNT m) O = Order ( On Time, Slack n) (Time,CNT)


Herunterladen ppt "Data Streams Thema: Operatoren auf Data Streams Ou Yi Technische Universität Kaiserslautern Lehrgebiet Datenverwaltungssysteme."

Ähnliche Präsentationen


Google-Anzeigen