41
Wprowadzenie StreamSQL/EventFlow Produkty StreamBase Studium przypadku Zastosowania Bibliografia Zlożone przetwarzanie zdarzeń w SZSBD StreamBase Nowe Technologie Baz Danych Wojciech Podgórski [email protected] 4 maja 2009 Wojciech Podgórski [email protected] Zlożone przetwarzanie zdarzeńw SZSBD StreamBase

[PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

Embed Size (px)

DESCRIPTION

Prezentacja przedstawia wprowadzenie do strumieniowych baz danych, wyjaśnia pojęcia związane z tą technologią oraz opisuje jeden z najbardziej popularnych i efektywnych narzędzi strumieniowego przetwarzania danych - SZSBD StreamBase.

Citation preview

Page 1: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńw SZSBD StreamBaseNowe Technologie Baz Danych

Wojciech Podgó[email protected]

4 maja 2009

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 2: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Agenda

1 WprowadzenieZłożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

2 StreamSQL/EventFlow3 Produkty StreamBase

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

4 Studium przypadku5 Zastosowania6 Bibliografia

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 3: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Złożone przetwarzanie zdarzeń

Złożone przetwarzanie zdarzeń (ang. Complex Event Processing) tokoncepcja obsługi przetwarzania wielu zdarzeń w celu identyfikacjiznaczenia w chmurze zdarzeń (ang. event cloud). Przetwarzanie odbywasię za pomocą zbioru abstrakcyjnych operacji takich jak porównywaniewzorców, korelowanie zdarzeń, tworzenie hierarchii zdarzeń, analiza relacjipomiędzy zdarzeniami i innych.

Źrodło: Wikipedia

Złożone przetwarzanie zdarzeń

Złożone przetwarzanie zdarzeń (ang. Complex Event Processing) totechnologia filtrowania, korelowania, agregowania oraz przetwarzaniarzeczywistych zdarzeń w krótkim czasie pomiędzy ich wystąpieniem awywołaniem określonego skutku.

Źrodło: StreamBase.com

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 4: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Czym jest StreamBase?

jest systemem zarządzania strumieniową bazą danych(SZSBD), implementującym CEP. Platforma StreamBasegromadzi w sobie graficzne środowisko wytwarzania aplikacji,wydajny serwer przetwarzania zdarzeń i interfejsy do danych czasurzeczywistego oraz historycznych. Aby lepiej zrozumieć sposóbdziałania przetwarzania strumieniowego, wprowadza się następującepojęcia:

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 5: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Krotka (ang. Tuple)Jest to kolekcja par: nazwa-wartość. Dozwolone nazwy iwartości określone są w schematach, które specyfikują typkrotki. Krotki moga być płaskie i składać się z typówprymitywnych (np. integer, float, string) lub mieć strukturęhierarchiczną (np. zbiór, krotka, lista).

Zdarzenie (ang. Event)To interpretacja krotki. Podczas gdy krotka to strukturadanych, zdarzenie odwołuję się do procesu w świecierzeczywistym. Przykładem może być zdarzenie “niebieskisamochód został zaobserwowany na pozycji (100,100)“,wtedy krotką reprezentującą zdarzenie będzie (typ-pojazdu:”samochód“, kolor: ”niebieski”, x: “100”, y: “100“).

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 6: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Krotka (ang. Tuple)Jest to kolekcja par: nazwa-wartość. Dozwolone nazwy iwartości określone są w schematach, które specyfikują typkrotki. Krotki moga być płaskie i składać się z typówprymitywnych (np. integer, float, string) lub mieć strukturęhierarchiczną (np. zbiór, krotka, lista).

Zdarzenie (ang. Event)To interpretacja krotki. Podczas gdy krotka to strukturadanych, zdarzenie odwołuję się do procesu w świecierzeczywistym. Przykładem może być zdarzenie “niebieskisamochód został zaobserwowany na pozycji (100,100)“,wtedy krotką reprezentującą zdarzenie będzie (typ-pojazdu:”samochód“, kolor: ”niebieski”, x: “100”, y: “100“).

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 7: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Krotka (ang. Tuple)Jest to kolekcja par: nazwa-wartość. Dozwolone nazwy iwartości określone są w schematach, które specyfikują typkrotki. Krotki moga być płaskie i składać się z typówprymitywnych (np. integer, float, string) lub mieć strukturęhierarchiczną (np. zbiór, krotka, lista).

Zdarzenie (ang. Event)To interpretacja krotki. Podczas gdy krotka to strukturadanych, zdarzenie odwołuję się do procesu w świecierzeczywistym. Przykładem może być zdarzenie “niebieskisamochód został zaobserwowany na pozycji (100,100)“,wtedy krotką reprezentującą zdarzenie będzie (typ-pojazdu:”samochód“, kolor: ”niebieski”, x: “100”, y: “100“).

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 8: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Zdarzenie złożone (ang. Complex event)Jest to zdarzenie złożone lub skorelowane z wielu zdarzeń.

Chmura zdarzeń (ang. Event cloud)Abstrakcyjna przestrzeń zdarzeń czasu rzeczywistego orazhistorycznych (zachowanych) będąca zarówno źródłem jak iwynikiem przetwarzania.

Strumień (ang. Stream)Definiuje się jako uporządkowaną i potencjalnie nieskończonąsekwencję krotek.

Okno (ang. Window)Wycinek strumienia stanowiący zbiór krotek, uzyskanypoprzez przetwarzanie strumienia w określonym przedzialeczasowym lub przetworzenie odpowiedniej ilości krotek.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 9: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Zdarzenie złożone (ang. Complex event)Jest to zdarzenie złożone lub skorelowane z wielu zdarzeń.

Chmura zdarzeń (ang. Event cloud)Abstrakcyjna przestrzeń zdarzeń czasu rzeczywistego orazhistorycznych (zachowanych) będąca zarówno źródłem jak iwynikiem przetwarzania.

Strumień (ang. Stream)Definiuje się jako uporządkowaną i potencjalnie nieskończonąsekwencję krotek.

Okno (ang. Window)Wycinek strumienia stanowiący zbiór krotek, uzyskanypoprzez przetwarzanie strumienia w określonym przedzialeczasowym lub przetworzenie odpowiedniej ilości krotek.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 10: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Zdarzenie złożone (ang. Complex event)Jest to zdarzenie złożone lub skorelowane z wielu zdarzeń.

Chmura zdarzeń (ang. Event cloud)Abstrakcyjna przestrzeń zdarzeń czasu rzeczywistego orazhistorycznych (zachowanych) będąca zarówno źródłem jak iwynikiem przetwarzania.

Strumień (ang. Stream)Definiuje się jako uporządkowaną i potencjalnie nieskończonąsekwencję krotek.

Okno (ang. Window)Wycinek strumienia stanowiący zbiór krotek, uzyskanypoprzez przetwarzanie strumienia w określonym przedzialeczasowym lub przetworzenie odpowiedniej ilości krotek.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 11: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Zdarzenie złożone (ang. Complex event)Jest to zdarzenie złożone lub skorelowane z wielu zdarzeń.

Chmura zdarzeń (ang. Event cloud)Abstrakcyjna przestrzeń zdarzeń czasu rzeczywistego orazhistorycznych (zachowanych) będąca zarówno źródłem jak iwynikiem przetwarzania.

Strumień (ang. Stream)Definiuje się jako uporządkowaną i potencjalnie nieskończonąsekwencję krotek.

Okno (ang. Window)Wycinek strumienia stanowiący zbiór krotek, uzyskanypoprzez przetwarzanie strumienia w określonym przedzialeczasowym lub przetworzenie odpowiedniej ilości krotek.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 12: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Zdarzenie złożone (ang. Complex event)Jest to zdarzenie złożone lub skorelowane z wielu zdarzeń.

Chmura zdarzeń (ang. Event cloud)Abstrakcyjna przestrzeń zdarzeń czasu rzeczywistego orazhistorycznych (zachowanych) będąca zarówno źródłem jak iwynikiem przetwarzania.

Strumień (ang. Stream)Definiuje się jako uporządkowaną i potencjalnie nieskończonąsekwencję krotek.

Okno (ang. Window)Wycinek strumienia stanowiący zbiór krotek, uzyskanypoprzez przetwarzanie strumienia w określonym przedzialeczasowym lub przetworzenie odpowiedniej ilości krotek.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 13: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Strumień danych vs. Baza danych

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 14: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Baza Danych

Rysunek: Architektura przepływu danych w SZBD. Źródło:

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 15: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Złożone przetwarzanie zdarzeńPodstawowe pojęciaRóżnice pomiędzy SZBD, a SZSBD

Strumień Danych

Rysunek: Architektura przepływu danych w SZSBD. Źródło:

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 16: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Platforma StreamBase wykorzstuje dwa strumieniowe językizapytań, które są sobie całkowicie równoważne. StreamSQL jestdeklaratywnym rozszerzeniem języka SQL z możliwościądefiniowania okien, uzyskiwania realcji z strumieni i podziałustrumienia na grupy. StreamSQL EventFlow jest graficznymproceduralnym językiem zapytań wykorzystującym zbióroperatorów strumieniowych takich jak Filter, BSort, Map,Aggregate, Union, Join itd. StreamSQL jest językiemrozszerzalnym z możliwością definiowania nowych funkcji ioperatorów w językach Java, C++ itp.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 17: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamSQL EventFlow

Rysunek: Zapytanie w języku StreamSQL EventFlow

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 18: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamSQL

1 CREATE INPUT STREAM T i c k s I n (2 Symbol s t r i n g ,3 SourceTimestamp timestamp ,4 B i d P r i c e s t r i n g ,5 A s k P r i c e s t r i n g ,6 FeedName s t r i n g ) ;7 CREATE STREAM TicksWithTime AS8 SELECT ∗ , now ( ) AS LocalTime FROM T i c k s I n ;9 CREATE STREAM TicksPerSecond AS

10 SELECT o p e n v a l ( ) AS S t a r t O f T i m e S l i c e , count ( ) AS NumberTicks , FeedName11 FROM TicksWithTime [ SIZE 1 ON LocalTime PARTITION BY FeedName ]12 GROUP BY FeedName ;13 CREATE OUTPUT STREAM T i c k S t a t s AS14 SELECT o p e n v a l ( ) AS S t a r t O f T i m e S l i c e ,15 avg ( NumberTicks ) AS AvgTicksPerSecond ,16 s t d e v ( NumberTicks ) AS StdevTicksPerSecond ,17 l a s t v a l ( NumberTicks ) AS L a s t T i c k s P e r S e c o n d , FeedName18 FROM TicksPerSecond [ SIZE 20 ADVANCE 1 ON S t a r t O f T i m e S l i c e19 PARTITION BY FeedName ]20 GROUP BY FeedName ;21 CREATE STREAM S e t T h r e s h o l d AS22 SELECT ∗ , . 7 5 AS A l e r t T h r e s h o l d FROM T i c k S t a t s ;23 CREATE OUTPUT STREAM T i c k F a l l O f f A l e r t AS24 SELECT ∗ FROM S e t T h r e s h o l d25 WHERE L a s t T i c k s P e r S e c o n d < AvgTicksPerSecond ∗ A l e r t T h r e s h o l d ;

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 19: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Studio

StreamBase Studio to zintegrowane środowisko programistyczne opartena Eclipse IDE służące do modelowania, wytwarzania, testowania idebugowania aplikacji CEP. StreamBase Studio pozwala zarówno nagraficzne budowanie logiki biznesowej za pomocą języka StreamSQLEventFlow, jak i tekstowe w języku StreamSQL. Integracja z EclipseIDE pozwala na korzystanie z wszystkich możliwości tego środowiskawłączając w to system kontroli wersji, zarządzanie zadaniami, a takżeimplementację aplikacji w języku Java czy C++ wykorzystującychStreamBase API.

Rysunek: StreamBase Studio, perspektywa SB Authoring. Źródło: StreamBase.comWojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 20: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Studio wspomaga rozwój aplikacji CEP w całym cyklujej życia udostępniając poniższe narzędzia:

StreamBase Feed Simulator pozwala na wprowadzaniesymulowanych danych do aplikacji StreamBase w trakcie jejdziałania. Służy do testowania poprawności działania iwydajności.

StreamBase Debugger służy do pauzowania działającejaplikacji i wykonywania jej krok po kroku w celu prześledzeniadziałania indywidualnych operatorów, kolejek itp na danychwejściowych.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 21: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Studio wspomaga rozwój aplikacji CEP w całym cyklujej życia udostępniając poniższe narzędzia:

StreamBase Feed Simulator pozwala na wprowadzaniesymulowanych danych do aplikacji StreamBase w trakcie jejdziałania. Służy do testowania poprawności działania iwydajności.

StreamBase Debugger służy do pauzowania działającejaplikacji i wykonywania jej krok po kroku w celu prześledzeniadziałania indywidualnych operatorów, kolejek itp na danychwejściowych.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 22: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Studio wspomaga rozwój aplikacji CEP w całym cyklujej życia udostępniając poniższe narzędzia:

StreamBase Feed Simulator pozwala na wprowadzaniesymulowanych danych do aplikacji StreamBase w trakcie jejdziałania. Służy do testowania poprawności działania iwydajności.

StreamBase Debugger służy do pauzowania działającejaplikacji i wykonywania jej krok po kroku w celu prześledzeniadziałania indywidualnych operatorów, kolejek itp na danychwejściowych.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 23: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Monitor pozwala na analizę danychwejściowych, które pojawiły się na danym operatorze lub wstrumieniu wejściowym, a także przekazywanie ich dalej.

StreamBase Record and Playback jest mechanizmemrejestrującym dane wejściowe w czasie rzeczywistym orazodtwarzającym dane historyczne w celu wyznaczenia nowychstrategii przetwarzania.

StreamBase API to zbiór interfejsów programowaniaaplikacji dla języków i platform Java, C++, .NET, służący dowytwarzania aplikacji klienckich, operatorów, adapterów ifunkcji StreamBase.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 24: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Monitor pozwala na analizę danychwejściowych, które pojawiły się na danym operatorze lub wstrumieniu wejściowym, a także przekazywanie ich dalej.

StreamBase Record and Playback jest mechanizmemrejestrującym dane wejściowe w czasie rzeczywistym orazodtwarzającym dane historyczne w celu wyznaczenia nowychstrategii przetwarzania.

StreamBase API to zbiór interfejsów programowaniaaplikacji dla języków i platform Java, C++, .NET, służący dowytwarzania aplikacji klienckich, operatorów, adapterów ifunkcji StreamBase.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 25: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Monitor pozwala na analizę danychwejściowych, które pojawiły się na danym operatorze lub wstrumieniu wejściowym, a także przekazywanie ich dalej.

StreamBase Record and Playback jest mechanizmemrejestrującym dane wejściowe w czasie rzeczywistym orazodtwarzającym dane historyczne w celu wyznaczenia nowychstrategii przetwarzania.

StreamBase API to zbiór interfejsów programowaniaaplikacji dla języków i platform Java, C++, .NET, służący dowytwarzania aplikacji klienckich, operatorów, adapterów ifunkcji StreamBase.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 26: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Monitor pozwala na analizę danychwejściowych, które pojawiły się na danym operatorze lub wstrumieniu wejściowym, a także przekazywanie ich dalej.

StreamBase Record and Playback jest mechanizmemrejestrującym dane wejściowe w czasie rzeczywistym orazodtwarzającym dane historyczne w celu wyznaczenia nowychstrategii przetwarzania.

StreamBase API to zbiór interfejsów programowaniaaplikacji dla języków i platform Java, C++, .NET, służący dowytwarzania aplikacji klienckich, operatorów, adapterów ifunkcji StreamBase.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 27: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Server

StreamBase Server jest zarówno środowiskiemuruchomieniowym całej platformy StreamBase jak i serweremaplikacji służącym do żłożonego przetwarzania zdarzeń. Bardzoduży nacisk położony został na współbieżne wykonywanie operacji,serwer został zaprojektowany tak aby w maksymalnym stopniuwykorzystywać wieloprocesorowość (64-bitowe systemyoperacyjne). StreamBase Server można używać na klastrach, atakże łączyć instancje serwerów w celu zmniejszenia awaryjności.Jedną z najważniejszych cech serwera są interfejsy składowaniadanych w postaci zarówno tabel w pamięci jak i na dysku, atakże w zewnętrznych bazach i hurtowaniach danych.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 28: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Server cd.

Dane deklarowane przez producenta, źródło: StreamBase.com

Przepustowość: 500,000+ komunikatów/sekundę lubwięcej na procesorach wielordzeniowych

Wydajność: 5-10x szybciej w stosunku do konkurencji dziękiDynamic Stream CompilerTM

Skalowalność: największa - 64-bitowe wielordzenioweprocesory dla przetwarzania i tabel w pamięci, klastry

Przenośność: systemy operacyjne Windows, Linux i Solaris

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 29: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Adapters

StreamBase Adapters to jeden z najważniejszych komponentówplatformy StreamBase służący do integrowania aplikacji StreamBase zźródłami danych w czasie rzeczywistym. Adaptery to aplikacje którewczytują strumień wejściowy z źródła, konwertują dane do formatuStreamBase i zapisują rezultaty do strumienia wyjściowego. StreamBaseoferuje zbiór gotowych adapterów, a także API do tworzenia własnych.

Rysunek: Adaptery zczytujące wartości akcji giełdowych (StreamSQL EventFlow). Źródło: StreamBase.com

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 30: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Adapters cd.

Adaptery systemów komunikacyjnych i sieciIBM MQ

JMS: integruje StreamBase z magistralą zgodną z JMS.

RTT

SMTP: analiza napływających wiadomości

TIBCO EMS

Tibco Rendezvous 7.2

Adaptery wizualizacji, zestawień i interakcjiAdobe Flex

CSV: zapisywanie i odczytywanie danych odzielonych przecinkami z plików CSV (comma-separated value).

Data

JDBC: połączenie z zewnętrznymi bazami danych oraz wykonywanie kodu SQL, np. Oracle, SQL Server,IBM R© DB2.

Microsoft Excel: zapisywanie i odczytywanie danych z plików Excel.

SL RT View

XML: konsumowanie i produkowanie rekordów XML

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 31: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Adapters cd.

Adaptery danych finansowychAlpha Trading System

Bloomberg BBCOM, Server, BPIPE, BPOD

DirectPlus (wcześnie znane jako COMSTOCK)

Inforeach

Lime Trading System

Reuters RMDS RFA5 Adapter subskrypcji

Reuters RMDS RFA5 Adapter publikacji

Reuters RMDS RFA6/OMM (Open Message Model)

Toronto Stock Exchange (TSX)

Wombat (MAMA)

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 32: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Chronicle

Jednym z największych wyzwań w przetwarzaniu danych czasurzeczywistego jest ich korelacja z danymi historycznymi. Jako,że archiwizowanie danych ciągle napływających jest technicznietrudne do zrealizowania (zbiory rzędu dziesiątek lub setekterabajtów), platforma StreamBase gromadzi dane w mediachzewnętrznych. Mechanizm StreamBase ChronicleTM jestframework’iem do optymalnego łączenia StreamBase Server zbazami i hurtowniami danych takimi jak Vhauy Velocity,Sybase RAP, IBM DB2 itd.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 33: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase StudioStreamBase ServerStreamBase AdaptersStreamBase Chronicle

StreamBase Chronicle cd.

Framework StreamBase ChronicleTMskłada się z dwóch części:Real-time loader służący do ładowania danych z StreamBaseServer do hurtowni/baz danych.High-performance adapter służący do ładowania danych zhurtowni/bazy danych wprost do strumienia wejściowego, luboperatora.

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 34: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Studium przypadkuTworzenie projektu w StreamBase Studio 6.3

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 35: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Rynki finansoweObrót akcjami, obliczanie strat i zysków w czasie rzeczywistym,automatyczna sprzedaż/zakup, analizy finansowe, transakcjebankomatowe, zarządzanie ryzykiem itp.

TelekomunikacjaMonitorowanie sieci, analiza przepustowości i zapewnianie QoS,wykrywanie oszustw, lokalizowanie odbiorców itp.

WojskoWywiad i obserwacja, wykrywanie intruzów, sterowanie i analizapola walki

Handel elektronicznyMonitorowanie zmian w magazynach, wykrywanie oszustw,administrowanie sklepami internetowymi

Gry typu multiplayerObsługa zdarzeń i statystyki

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 36: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Sieci sensoryczneMonitorowanie pogody, zwierząt, więźniów, RFID...

Logistyka i transportMonitorowanie ruchu towarów

PrzemysłNadzorowanie linii produkcyjnych

Integracja z systemami czasu rzeczywistego

WIELE INNYCH...

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 37: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Podsumowanie

Platforma StreamBase jest jednym z najpopularniejszych systemówzarządzania strumieniową bazą danych, implementującymComplex Event Processing. Składa się z czterech komponentów- StreamBase Studio (tworzenie aplikacji), Server (serweraplikacji), Adapters (komunikacja) oraz Chronicle (persystancja).Udostępnia dwa języki zapytań zorientowane na przetwarzaniestrumieniowe - StreamSQL (tekstowy) oraz StreamSQLEventFlow (graficzny). Platformę można ściagnąć w wersji trailoraz zakupić na stronie:

http://www.streambase.com

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 38: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

StreamBase Knowledge Centerhttp://www.streambase.com/knowledgecenter.htm

Kot W.Krótko o Complex Event Processing (I co może z tego miećdeveloper Java)Java Developers Network - http://www.jdn.pl/node/1583

Wilczek A.Wykłady z przedmiotu Nowe Technologie Baz DanychPolitechnika Wrocławska, Instytut Informatyki, Wrocław 2009 -http://www.ii.pwr.wroc.pl/ wilczek

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 39: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Jain N., Mishra S., Srinivasan A., Gehrke J. Widom J., BalakrishnanH., Cetintemel U., Cherniack M., Tibbetts R., Zdonik S.Towards a Streaming SQL StandardProceedings of the VLDB Endowment, Volume 1, Issue 2 (August 2008),Session: Industrial, application, and experience sessions: query processing,pp. 1379-1390

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 40: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Dlaczego?...

Pytania ?Jak?...

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase

Page 41: [PL] Złożone przetwarzanie zdarzeń w SZSBD StreamBase

WprowadzenieStreamSQL/EventFlow

Produkty StreamBaseStudium przypadku

ZastosowaniaBibliografia

Dziękuje bardzo...

Wojciech Podgórski [email protected] Złożone przetwarzanie zdarzeńw SZSBD StreamBase