SlideShare a Scribd company logo
1 of 36
Włodzimierz Bielski
Microsoft StreamInsight
Analiza danych w ruchu
CTO, BImasters
wlodzimierz.bielski@action.com.pl
Complex
Event
Processing
Microsoft
StreamInsight
StreamInsight
w praktyce
Complex
Event
Processing
Microsoft
StreamInsight
StreamInsight
w praktyce
Dane strumieniowe
Ile niebieskich samochodów jest na parkingu?
– Idź na parking
– Zlicz pojazdy które:
• Są samochodami
• Mają czerwony kolor
SELECT COUNT(*) FROM ParkingLot
WHERE type = ‘AUTO’ AND color =
‘BLUE’
Dane strumieniowe
Ile niebieskich samochodów przejechało
skrzyżowanie Marszałkowskiej i Świętokrzyskiej
w ciągu ostatniej godziny?
– Odstaw wszystkie pojazdy na parking
– Trzymaj je, aż upłynie godzina
– Zlicz pojazdy po upływie tego czasu
To chyba
nie jest
dobry
pomysł
Dane strumieniowe
Ile czerwonych samochodów przejechało
skrzyżowanie Marszałkowskiej i Świętokrzyskiej
w ciągu ostatniej godziny?
– Stań przy drodze
– Zliczaj niebieskie samochody na bieżąco
– Podaj odpowiedź po upływie godziny
Analiza danych w ruchu –
Complex Event Processing
Zmienna wartość danych w czasie
Lata Miesiące Dni Godz Min Sek
Czas
Wartoś
ć
Analiza trendów
historycznych
Prognozowanie
w przedsiębiorstwach
Analityka webowa,
finansowa, monitoring
Drogie i skomplikowane
rozwiązania szyte na
miarę
Complex Event
Processing
Zmienna wartość danych w czasie
Lata Miesiące Dni Godz Min Sek
Czas
Wartoś
ć
Tradycyjne hurtownie
danych
Aktywne hurtownie
danych
Porównanie paradygmatów
Aplikacje bazodanowe Aplikacje zdarzeniowe
(CEP)
Model
odpytywania
Zapytania ad-hoc Stale trwające zapytania
Opóźnienie Sekundy, godziny <1 milisekunda
Ilość danych Setki zdarzeń/sekundę Tysiące zdarzeń/sekundę
Semantyka
zapytań
Relacyjna Relacyjna i temporalna
zapytanie
wynik
Strumień
wyjściowyStrumień
wejściowy
zdarzenie
Scenariusze zastosowań
Przemysł
Handel
i logistyka
Sektor
finansowy
Energetyka
i media
Przemysł
• Odczyt danych z czujników
• Reakcja na zdarzenia
• Generowanie ostrzeżeń
• Ciągła analiza danych w ramach
ustalonego okna czasowego
Energetyka i media
• Inteligentne sieci (smart grid)
• Wykrywanie nieuprawnionych podłączeń
• Wykrywanie awarii
• Analiza stanu sieci
Sektor finansowy
• Automatyczne systemy tradingowe
• Szybka wycena kosztów transakcji
• Obsługa zleceń online
• Zarządzanie ryzykiem
• Wykrywanie nadużyć
Handel i logistyka
• Monitoring stanów magazynowych
• Wykrywanie nadużyć
• Marketing w miejscu sprzedaży
Complex
Event
Processing
Microsoft
StreamInsight
StreamInsight
w praktyce
Microsoft StreamInsight
• Platforma realizująca mechanizmy CEP
• Analiza w locie danych z różnych źródeł
• Model adapterów – obsługa różnych źródeł
i odbiorców danych
• Deklaratywny język zapytań – LINQ
• Licencjonowany razem z SQL Server
Kluczowe składniki StreamInsight
• Zdarzenia (events)
• Strumienie (streams)
• Adaptery
• Analiza i przetwarzanie zdarzeń
Architektura StreamInsight
Zdarzenie
• Podstawowa jednostka danych StreamInsight
• Korzysta z systemu typów .NET
• Składa się z 2 elementów:
– Nagłowek – typ zdarzenia, znaczniki czasowe
– Zawartość (Payload) – tylko skalarne typy CLR
Timestamps Long
pumpID
String
Type
String
Location
Double
flow
Double
pressure
… … … … … …
Modele zdarzeń
• Point – zdarzenie błyskawiczne
Awaria wydarzyła się o 10:23:41
• Interval – znany czas zakończenia
Mecz zaczął się o 20:45, a zakończył się o 22:30
• Edge – początkowo nieznany czas zakończenia
Deszcz zaczął padać o 19:00
EventKind EdgeType StartTime EndTime Payload
INSERT Start
2009-12-27
02:04:00.213
∞ EU-23423-12
INSERT End
2009-12-27
02:04:00.213
2009-12-27
02:04:04.329
EU-23423-12
Strumienie
• Strumień (stream) = sekwencja zdarzeń
– zdefiniowany w typach .NET
– potencjalnie nieskończony
– jednokierunkowy
• Strumienie są jednokierunkowe
– od źródła (source) do ujścia (sink)
Adaptery (1/2)
• Wejściowe (input adapters)
– Przyjmują zdarzenia z zewnętrznych źródeł
– Otypowane bądź nie
• Wyjściowe (output adapters)
– Przyjmują przetworzone przez serwer zdarzenia
– Przekazują sformatowany wynik do ujścia (sink)
Adaptery (2/2)
public class MyAdapter :
TypedPointInputAdapter<MyPayload>
{
public MyAdapter(MyConfig conf)
{ ... }
public override void Start()
{ ... }
public override void Resume()
{ ... }
public override void ProduceEvents()
{ ... }
}
public class MyOutputAdapter :
PointOutputAdapter
{
public MyOutputAdapter(MyConfig
conf)
{ ... }
public override void Start()
{ ... }
public override void Resume()
{ ... }
public override void ConsumeEvents()
{ ... }
}
Analiza i przetwarzanie zdarzeń
• Szablony zapytań (query templates)
– Logika biznesowa w LINQ
• Query Instance = Query + Data Sources
– Związanie szablonu z konkretnymi adapterami we/wy
Operatory przetwarzania
• Kalkulacje (PROJECT)
• Złączenia (JOIN)
• Filtrowanie zdarzeń (FILTER)
• Sprawdzanie wystąpienia lub nie (EXISTS)
• Partycjonowanie strumieni (GROUP, APPLY)
• Agregacje (SUM, COUNT)
• Operacje temporalne
Rodzaje okien czasowych (1/2)
Okno skokowe (hopping window)
Rodzaje okien czasowych (2/2)
Okno rozłączne (tumbling window)
Wykonywanie zapytań
• Metody zapytania:
– Start()
– Stop()
– Resume()
• Silnik StreamInsight zapewnia:
– Wykonanie zapytań
– Przetwarzanie zdarzeń
– Obsługę błędów
Proces tworzenia rozwiązań StreamInsight
• Określenie źródeł i ujść dla strumieni zdarzeń
• Stworzenie adapterów wejściowych
• Stworzenie adapterów wyjściowych
• Implementacja logiki biznesowej w LINQ
• Związanie w czasie wykonania adapterów
i szablonów zapytań
Complex
Event
Processing
Microsoft
StreamInsight
StreamInsight
w praktyce
Źródła danych
Agregacje
i korelacje
Warianty wdrożenia StreamInsight
Urządzenia
Czujniki
Serwer WWW
FeedyStreamInsigh
t
Złożona analityka
StreamInsight
StreamInsight
StreamInsig
ht
StreamInsig
ht
StreamInsig
ht
StreamInsig
ht
StreamInsight
StreamInsight a Integration Services
Źródło StreamInsight
Integration
Services
Wykrycie
nieprawidłowośc
i
Czyszczenie, agregacja,
ładowanie do hurtowni danych
Niepoprawne
zachowanie systemu
źródłowego
Edycje StreamInsight w SQL Server 2012
Standard
Business Intelligence
Standard
Web
• <5000 zdarzeń/sekundę
• tolerancja opóźnień >5 s
Premium
Enterprise
Developer
Evaluation
• >5000 zdarzeń/sekundę
• maks. opóźnienie <5 s
Różne dane, jedna platforma
HDInsight
StreamInsight
Pytania
Dziękuję za uwagę
Zapis dzisiejszego webinara zostanie
udostępniony do końca tygodnia na stronach:
http://ITgeeks.pl
http://edukacja.action.com.pl

More Related Content

Similar to StreamInsight - Analiza danych w ruchu

Modelowanie i weryfikacja w programie MATLAB i Simulink
Modelowanie i weryfikacja w programie MATLAB i SimulinkModelowanie i weryfikacja w programie MATLAB i Simulink
Modelowanie i weryfikacja w programie MATLAB i SimulinkJadwiga Horoszkiewicz
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidkŁukasz Grala
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?javOnet
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz
 
Najnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiNajnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiJanusz Pieklik
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPWydawnictwo Helion
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztatyintive
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaJacek Okrojek
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegroallegro.tech
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymDariusz Jagieło
 
20160309 AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning
20160309   AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning20160309   AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning
20160309 AzureDay 2016 - Azure Stream Analytics & Azure Machine LearningŁukasz Grala
 
Jak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXJak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXKamil Grabowski
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowychTomasz Borowski
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?PROIDEA
 
Wjug from java to big data
Wjug   from java to big dataWjug   from java to big data
Wjug from java to big dataPiotr Guzik
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...Logicaltrust pl
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Cloudskraqa
 
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MP
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MPAnalityka w optymalizacji procesów -TechMine_10.12.2015r.MP
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MPMagdalena Hoffman-Cicho?
 

Similar to StreamInsight - Analiza danych w ruchu (20)

Modelowanie i weryfikacja w programie MATLAB i Simulink
Modelowanie i weryfikacja w programie MATLAB i SimulinkModelowanie i weryfikacja w programie MATLAB i Simulink
Modelowanie i weryfikacja w programie MATLAB i Simulink
 
20160316 techstolica - cloudanalytics -tidk
20160316  techstolica - cloudanalytics -tidk20160316  techstolica - cloudanalytics -tidk
20160316 techstolica - cloudanalytics -tidk
 
Zwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_PanelZwinny_Analityk_SIW_Panel
Zwinny_Analityk_SIW_Panel
 
Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?Jak podwoić wartość kodu .NET?
Jak podwoić wartość kodu .NET?
 
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
Tomasz Kopacz MTS 2012 Wind RT w Windows 8 i tzw aplikacje lob (line of busin...
 
Najnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektamiNajnowsze światowe trendy zarządzania projektami
Najnowsze światowe trendy zarządzania projektami
 
ASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHPASP.NET 3.5 dla programistów PHP
ASP.NET 3.5 dla programistów PHP
 
Patronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 WarsztatyPatronage 2016 Windows 10 Warsztaty
Patronage 2016 Windows 10 Warsztaty
 
Wydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownikaWydajność aplikacji Web z perspektywy użytkownika
Wydajność aplikacji Web z perspektywy użytkownika
 
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
[WHUG] Wielki brat patrzy - czyli jak zbieramy dane o użytkownikach allegro
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
20160309 AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning
20160309   AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning20160309   AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning
20160309 AzureDay 2016 - Azure Stream Analytics & Azure Machine Learning
 
Jak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIXJak wyglada monitoring w PLIX
Jak wyglada monitoring w PLIX
 
Produkcja aplikacji internetowych
Produkcja aplikacji internetowychProdukcja aplikacji internetowych
Produkcja aplikacji internetowych
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
 
Wjug from java to big data
Wjug   from java to big dataWjug   from java to big data
Wjug from java to big data
 
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
APT x 3 - trzy firmy, trzy wektory ataków, trzy do zera - wybrane studium prz...
 
Wartosc klienta
Wartosc klientaWartosc klienta
Wartosc klienta
 
Michał Dec - Quality in Clouds
Michał Dec - Quality in CloudsMichał Dec - Quality in Clouds
Michał Dec - Quality in Clouds
 
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MP
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MPAnalityka w optymalizacji procesów -TechMine_10.12.2015r.MP
Analityka w optymalizacji procesów -TechMine_10.12.2015r.MP
 

More from Wlodek Bielski

Big Data and ML on Google Cloud
Big Data and ML on Google CloudBig Data and ML on Google Cloud
Big Data and ML on Google CloudWlodek Bielski
 
Machine Learning with GCP
Machine Learning with GCPMachine Learning with GCP
Machine Learning with GCPWlodek Bielski
 
Cloud Developer Days - BigQuery
Cloud Developer Days - BigQueryCloud Developer Days - BigQuery
Cloud Developer Days - BigQueryWlodek Bielski
 
Migrating Enterprise BI to Azure
Migrating Enterprise BI to AzureMigrating Enterprise BI to Azure
Migrating Enterprise BI to AzureWlodek Bielski
 
Pierwsze kroki w chmurze
Pierwsze kroki w chmurzePierwsze kroki w chmurze
Pierwsze kroki w chmurzeWlodek Bielski
 
Azure Analysis Services - AzureDay Poland 2018
Azure Analysis Services - AzureDay Poland 2018Azure Analysis Services - AzureDay Poland 2018
Azure Analysis Services - AzureDay Poland 2018Wlodek Bielski
 
AnalyticsConf : Azure SQL Data Warehouse
AnalyticsConf : Azure SQL Data WarehouseAnalyticsConf : Azure SQL Data Warehouse
AnalyticsConf : Azure SQL Data WarehouseWlodek Bielski
 
Nowoczesne technologie In-Memory
Nowoczesne technologie In-MemoryNowoczesne technologie In-Memory
Nowoczesne technologie In-MemoryWlodek Bielski
 
SQL Server 2014: In-memory OLTP
SQL Server 2014: In-memory OLTPSQL Server 2014: In-memory OLTP
SQL Server 2014: In-memory OLTPWlodek Bielski
 

More from Wlodek Bielski (10)

Big Data and ML on Google Cloud
Big Data and ML on Google CloudBig Data and ML on Google Cloud
Big Data and ML on Google Cloud
 
Machine Learning with GCP
Machine Learning with GCPMachine Learning with GCP
Machine Learning with GCP
 
Cloud Developer Days - BigQuery
Cloud Developer Days - BigQueryCloud Developer Days - BigQuery
Cloud Developer Days - BigQuery
 
Migrating Enterprise BI to Azure
Migrating Enterprise BI to AzureMigrating Enterprise BI to Azure
Migrating Enterprise BI to Azure
 
Pierwsze kroki w chmurze
Pierwsze kroki w chmurzePierwsze kroki w chmurze
Pierwsze kroki w chmurze
 
Azure Analysis Services - AzureDay Poland 2018
Azure Analysis Services - AzureDay Poland 2018Azure Analysis Services - AzureDay Poland 2018
Azure Analysis Services - AzureDay Poland 2018
 
AnalyticsConf : Azure SQL Data Warehouse
AnalyticsConf : Azure SQL Data WarehouseAnalyticsConf : Azure SQL Data Warehouse
AnalyticsConf : Azure SQL Data Warehouse
 
Nowoczesne technologie In-Memory
Nowoczesne technologie In-MemoryNowoczesne technologie In-Memory
Nowoczesne technologie In-Memory
 
SQL Server 2014: In-memory OLTP
SQL Server 2014: In-memory OLTPSQL Server 2014: In-memory OLTP
SQL Server 2014: In-memory OLTP
 
WHUG Azure HDInsight
WHUG Azure HDInsightWHUG Azure HDInsight
WHUG Azure HDInsight
 

StreamInsight - Analiza danych w ruchu

  • 1. Włodzimierz Bielski Microsoft StreamInsight Analiza danych w ruchu CTO, BImasters wlodzimierz.bielski@action.com.pl
  • 4. Dane strumieniowe Ile niebieskich samochodów jest na parkingu? – Idź na parking – Zlicz pojazdy które: • Są samochodami • Mają czerwony kolor SELECT COUNT(*) FROM ParkingLot WHERE type = ‘AUTO’ AND color = ‘BLUE’
  • 5. Dane strumieniowe Ile niebieskich samochodów przejechało skrzyżowanie Marszałkowskiej i Świętokrzyskiej w ciągu ostatniej godziny? – Odstaw wszystkie pojazdy na parking – Trzymaj je, aż upłynie godzina – Zlicz pojazdy po upływie tego czasu To chyba nie jest dobry pomysł
  • 6. Dane strumieniowe Ile czerwonych samochodów przejechało skrzyżowanie Marszałkowskiej i Świętokrzyskiej w ciągu ostatniej godziny? – Stań przy drodze – Zliczaj niebieskie samochody na bieżąco – Podaj odpowiedź po upływie godziny Analiza danych w ruchu – Complex Event Processing
  • 7. Zmienna wartość danych w czasie Lata Miesiące Dni Godz Min Sek Czas Wartoś ć Analiza trendów historycznych Prognozowanie w przedsiębiorstwach Analityka webowa, finansowa, monitoring
  • 8. Drogie i skomplikowane rozwiązania szyte na miarę Complex Event Processing Zmienna wartość danych w czasie Lata Miesiące Dni Godz Min Sek Czas Wartoś ć Tradycyjne hurtownie danych Aktywne hurtownie danych
  • 9. Porównanie paradygmatów Aplikacje bazodanowe Aplikacje zdarzeniowe (CEP) Model odpytywania Zapytania ad-hoc Stale trwające zapytania Opóźnienie Sekundy, godziny <1 milisekunda Ilość danych Setki zdarzeń/sekundę Tysiące zdarzeń/sekundę Semantyka zapytań Relacyjna Relacyjna i temporalna zapytanie wynik Strumień wyjściowyStrumień wejściowy zdarzenie
  • 11. Przemysł • Odczyt danych z czujników • Reakcja na zdarzenia • Generowanie ostrzeżeń • Ciągła analiza danych w ramach ustalonego okna czasowego
  • 12. Energetyka i media • Inteligentne sieci (smart grid) • Wykrywanie nieuprawnionych podłączeń • Wykrywanie awarii • Analiza stanu sieci
  • 13. Sektor finansowy • Automatyczne systemy tradingowe • Szybka wycena kosztów transakcji • Obsługa zleceń online • Zarządzanie ryzykiem • Wykrywanie nadużyć
  • 14. Handel i logistyka • Monitoring stanów magazynowych • Wykrywanie nadużyć • Marketing w miejscu sprzedaży
  • 16. Microsoft StreamInsight • Platforma realizująca mechanizmy CEP • Analiza w locie danych z różnych źródeł • Model adapterów – obsługa różnych źródeł i odbiorców danych • Deklaratywny język zapytań – LINQ • Licencjonowany razem z SQL Server
  • 17. Kluczowe składniki StreamInsight • Zdarzenia (events) • Strumienie (streams) • Adaptery • Analiza i przetwarzanie zdarzeń
  • 19. Zdarzenie • Podstawowa jednostka danych StreamInsight • Korzysta z systemu typów .NET • Składa się z 2 elementów: – Nagłowek – typ zdarzenia, znaczniki czasowe – Zawartość (Payload) – tylko skalarne typy CLR Timestamps Long pumpID String Type String Location Double flow Double pressure … … … … … …
  • 20. Modele zdarzeń • Point – zdarzenie błyskawiczne Awaria wydarzyła się o 10:23:41 • Interval – znany czas zakończenia Mecz zaczął się o 20:45, a zakończył się o 22:30 • Edge – początkowo nieznany czas zakończenia Deszcz zaczął padać o 19:00 EventKind EdgeType StartTime EndTime Payload INSERT Start 2009-12-27 02:04:00.213 ∞ EU-23423-12 INSERT End 2009-12-27 02:04:00.213 2009-12-27 02:04:04.329 EU-23423-12
  • 21. Strumienie • Strumień (stream) = sekwencja zdarzeń – zdefiniowany w typach .NET – potencjalnie nieskończony – jednokierunkowy • Strumienie są jednokierunkowe – od źródła (source) do ujścia (sink)
  • 22. Adaptery (1/2) • Wejściowe (input adapters) – Przyjmują zdarzenia z zewnętrznych źródeł – Otypowane bądź nie • Wyjściowe (output adapters) – Przyjmują przetworzone przez serwer zdarzenia – Przekazują sformatowany wynik do ujścia (sink)
  • 23. Adaptery (2/2) public class MyAdapter : TypedPointInputAdapter<MyPayload> { public MyAdapter(MyConfig conf) { ... } public override void Start() { ... } public override void Resume() { ... } public override void ProduceEvents() { ... } } public class MyOutputAdapter : PointOutputAdapter { public MyOutputAdapter(MyConfig conf) { ... } public override void Start() { ... } public override void Resume() { ... } public override void ConsumeEvents() { ... } }
  • 24. Analiza i przetwarzanie zdarzeń • Szablony zapytań (query templates) – Logika biznesowa w LINQ • Query Instance = Query + Data Sources – Związanie szablonu z konkretnymi adapterami we/wy
  • 25. Operatory przetwarzania • Kalkulacje (PROJECT) • Złączenia (JOIN) • Filtrowanie zdarzeń (FILTER) • Sprawdzanie wystąpienia lub nie (EXISTS) • Partycjonowanie strumieni (GROUP, APPLY) • Agregacje (SUM, COUNT) • Operacje temporalne
  • 26. Rodzaje okien czasowych (1/2) Okno skokowe (hopping window)
  • 27. Rodzaje okien czasowych (2/2) Okno rozłączne (tumbling window)
  • 28. Wykonywanie zapytań • Metody zapytania: – Start() – Stop() – Resume() • Silnik StreamInsight zapewnia: – Wykonanie zapytań – Przetwarzanie zdarzeń – Obsługę błędów
  • 29. Proces tworzenia rozwiązań StreamInsight • Określenie źródeł i ujść dla strumieni zdarzeń • Stworzenie adapterów wejściowych • Stworzenie adapterów wyjściowych • Implementacja logiki biznesowej w LINQ • Związanie w czasie wykonania adapterów i szablonów zapytań
  • 31. Źródła danych Agregacje i korelacje Warianty wdrożenia StreamInsight Urządzenia Czujniki Serwer WWW FeedyStreamInsigh t Złożona analityka StreamInsight StreamInsight StreamInsig ht StreamInsig ht StreamInsig ht StreamInsig ht StreamInsight
  • 32. StreamInsight a Integration Services Źródło StreamInsight Integration Services Wykrycie nieprawidłowośc i Czyszczenie, agregacja, ładowanie do hurtowni danych Niepoprawne zachowanie systemu źródłowego
  • 33. Edycje StreamInsight w SQL Server 2012 Standard Business Intelligence Standard Web • <5000 zdarzeń/sekundę • tolerancja opóźnień >5 s Premium Enterprise Developer Evaluation • >5000 zdarzeń/sekundę • maks. opóźnienie <5 s
  • 34. Różne dane, jedna platforma HDInsight StreamInsight
  • 36. Dziękuję za uwagę Zapis dzisiejszego webinara zostanie udostępniony do końca tygodnia na stronach: http://ITgeeks.pl http://edukacja.action.com.pl