SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD...

40

Transcript of SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD...

Page 1: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH
Page 2: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

IoT Everywhereczyli

5 kroków do efektywnego i skalowalnego rozwiązania, które adresuje Twoje potrzeby

biznesowe

Page 3: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

O mnie

Architekt danych– Doświadczenie w realizacji projektów w środowiskach komercyjnychoraz administracji publicznej z zakresu rozwiązań Business Intelligence& Data Warehouse | Data Management – Ekspert w zakresie licencjonowania oraz Software Asset Management– Autor publikacji i prelegent na konferencjach i sesjach tematycznych

(m.in. Time For SharePoint, VirtualStudy.pl, Channel 9/MSDN/Technet, Azure Global Bootcamp, SQLDay)

– Most Valuable Professional w kategorii SQL Server (2013-2015)– Od października 2015 – Cloud Data Platform Solution Architect, Microsoft

http://[email protected]

Page 4: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Krok 1RozwiązaniaIoT

Page 5: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Electric charging stations

Street sweepers

Postboxes

AircraftsAuto

Elevators

Factory floor

Oil equipment

Cows

Engines

Vending machines

Buildings

Fryers

Medical devices

Vaccine dispensers

Trucks

BusesDogs

Oil distribution

Smart meters

Internet of Things

Power plant

Surveillance

Power tools

Racing

Mining equipment

Smart grids

Rozwiązania IoT w rzeczywistym świecie

Source: Redefining the Connected Conversation, IoT Trends, Challenges & Experience Survey. James Brehm & Associates, 2016.

50% Ograniczenie przestojów poprzez proaktywne utrzymanie i serwis

Page 6: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Rozwiązania IoT

http://www.geekculture.com/joyoftech/joyarchives/2340.html

Page 7: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

• Rzeczy– Fizyczne „rzeczy” funkcjonujące pośród nas– Z reguły „rzecz” wyposażona jest w jeden lub więcej sensorów

• Łączność– „Rzeczy” muszą być podłączone bezpośrednio do Internetu, pomiędzy sobą lub określonychUrządzeń pośredniczących

• Dane– „Rzeczy” mają możliwość gromadzenia i przesyłania informacji– Dane muszą być gromadzone i przechowywane w sposób bezpieczny

• Insights– Analityka w oparciu o duże ilości danych. Rozwiązania mają dostarczać natychmiastowąwartość dla użytkowników

Rozwiązania IoT

Page 8: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Krok 2ArchitekturaRozwiązańIoT

Page 9: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Basic IoT Solution Architecture

Page 10: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Microsoft Azure IoT Reference Architecture

• http://download.microsoft.com/download/A/4/D/A4DAD253-BC21-41D3-B9D9-87D2AE6F0719/Microsoft_Azure_IoT_Reference_Architecture.pdf

Page 11: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Hot-path & Cold-path Analytics

Ścieżka danych gorących (Hot-path)

Ścieżka danych zimnych (Cold-path)

Page 12: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 13: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 14: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 15: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 16: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 17: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 18: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 19: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Architektura rozwiązania

Page 20: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

DEMO

Page 21: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

KomponentyarchitekturyIoT

Page 22: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Krok 3

Połączenie i kontrola

Azure IoT HubEvent Hub

Page 23: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Azure IoT Hub

Komunikacja dwukierunkowa

Uwierzytelnianie urządzeń

Wsparcie dla wielu protokołów

Bramka do połączenia z „cloud”

Skalowalnie rozwiązanie dla IoT

Page 24: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Azure IoT Hub

Zaprojektowane dla IoTMożliwość podłączenia do 10 milionów urządzeń per instancja

Dwukierunkowa komunikacjaDevice-to-cloud(D2C) oraz Cloud-to-device(C2D)

Uwierzytelnianie urządzeńSprawdzone metody uwierzytelniania urządzeń

WieloplatformowośćSDK dla urządzeń dostępny dla wielu platform(m.in.. RTOS, Linux, Windows)

Wsparcie wielu protokołówNatywne wsparcie AMQP, HTTP, MQTTMożliwość rozszerzenia o niestandardowe protokoły

Page 25: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Krok 4

Przetwarzanie strumienia danych

Azure Stream Analytics

Page 26: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

• Data Streams – Data w ruchu • Łatwa integracja z IoT Hub/Event Hub • Zapytania w stylu SQL• Agregacja danych• Dostęp do danych referencyjnych

Stream Analytics

Page 27: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

DML Statements• SELECT• FROM• WHERE• GROUP BY• HAVING• CASE• JOIN• UNION

Windowing Extensions• Tumbling Window• Hopping Window• Sliding Window• Duration

Aggregate Functions• SUM• COUNT• AVG• MIN• MAX

Scaling Functions• WITH• PARTITION BY

Date and Time Functions• DATENAME• DATEPART• DAY• MONTH• YEAR• DATETIMEFROMPARTS• DATEDIFF• DATADD

String Functions• LEN• CONCAT• CHARINDEX• SUBSTRING• PATINDEX

Statistical Functions• VAR• VARP• STDEV• STDEVP

Query Language - Overview

Page 28: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Koncepcja okien czasowych

1 5 4 26 8 6 4

t1 t2 t5 t6t3 t4

Time

• Zdarzenia spływają o różnym czasie np. mają unikalny timestamps

• Zdarzenia przychodzą z różnym nasileniem (zdarzeń/sec).

• W danym momencie czasu może być 0,1 lub więcej zdarzeń

Okno czasowe jest podstawowym wymaganiem dla aplikacji pracujących na strumieniu danych

Azure Stream Analytics wspiera trzy typy okien czasowych Hopping, Sliding and Tumbling

Zdarzenia posiadają znacznik czasu danego okna

Wszystkie okna mają określoną długość

Okna powinny być wykorzystywane w opcji GROUP BY

Okno 1 Okno 2 Okno 3

Funkcja agregująca(Sum)

18 14Dane wyjściowe

Page 29: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Tumbling Window

1 5 4 26 8 6 5

Czas(sek)

1 5 4 26

8 6

20 sekundowe okno typu Tumbling Window

3 6 1

5 3 6 1

Tumbling windows:

• Powtarzalne w czasie• Nienachodzące na siebie

SELECT TollId, COUNT(*)FROM EntryStream TIMESTAMP BY EntryTimeGROUP BY TollId, TumblingWindow(second, 20)

Zapytanie: Zlicz liczbę samochodów przejeżdżających przez bramkę w interwałach 20 sekundowych

Zdarzenie może należeć wyłącznie do jednego okna

Page 30: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Hopping Window

1 5 4 26 8 6

20 sekundowe okno z 10 sekundowym przeskokiem Hopping windows:

• Powtarzalne• Mogą na siebie nachodzić • Skok określony przez stałą liczbę

Efekt analogiczny do tumbling window jeśli hop size = window sizeZdarzenia mogą należeć do więcej niż jednego okna

SELECT COUNT(*), TollId FROM EntryStream TIMESTAMP BY EntryTimeGROUP BY TollId, HoppingWindow (second, 20,10)

4 26

8 6

5 3 6 1

1 5 4 26

8 6 5 3

6 15 3

Zapytanie : Zlicz liczbę samochodów przejeżdżających przez bramkę w interwale 20 sekund, wynik aktualizowany co 10 sekund

Page 31: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Sliding Window

1 5

20 sekundowe okna typu Sliding WindowsSliding window:

• Ciągle przesuwane okno o wartość € (epsilon) • Wyniki dostępne wyłącznie w momencie

zdarzenia• Każde okno będzie miało przynajmniej jedno

zdarzenieZdarzenia mogą należeć do więcej niż jednego okna

SELECT TollId, Count(*)FROM EntryStream ESGROUP BY TollId, SlidingWindow (second, 20)HAVING Count(*) > 10

Zapytanie: Znajdź bramkę, która obsługuje więcej niż 10 samochodów w ostatnich 20 sekundach

1

8

8

5 1

9

5 1 9

Page 32: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Multi-step queries with “WITH”

WITH Step1 AS ( SELECT COUNT(*) AS CountItems , TollIdFROM EntryStream Partition By PartitionIdGROUP BY TumblingWindow (minute, 3), TollId

) SELECT COUNT(CountItems),TollIdFROM Step1 GROUP BY TumblingWindow (minute, 3), TollId

• A query can have multiple steps

• Each step is a sub-query defined using the WITH keyword

• The only query outside of the WITH keyword is also counted as a step

• Steps enable a query to be scaled out across multiple computing resources

• Can also be used to develop complex queries more elegantly by creating a temporary named result set

A Query with two steps

Page 33: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Krok 5

Wizualizacja i analiza

Power BI & Machine Learning

Page 34: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

• Power BI Dashboards– Wsparcie dla wielu platform– Możliwość integracji z własnymi aplikacjami

• Streaming Data Sets– Stream Analytics wykorzystuje je do przesyłania

danych do PBI– Azure Functions mogą wywoływać API

bezpośrednio

Power BI

Page 35: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

• Wykrywanie poniższych typów anomalii na podstawie serii danych czasowych: – Spikes and Dips– Pozytywne i negatywne trendy– Zmiana poziomu oraz dynamiczna zmiana zakresu wartości

https://gallery.cortanaintelligence.com/MachineLearningAPI/Anomaly-Detection-2

Wykrywanie anomalii – Cortana Intelligence Gallery

Page 36: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Badanie i analizowanie danych szeregów czasowych w rozwiązaniach IoT

• Bezpośredni dostęp do strumieniadanych

• Retencja 31 lub 100 dni

• 30 GB/30 mln lub 300 GB/300 mln

Page 37: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

DEMO

Page 38: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

Szybki start

• Microsoft Azure IoT Suite https://www.azureiotsuite.com/

• Time Series InsightsNatychmiastowe badanie i analizowanie danych szeregów czasowych w rozwiązaniach IoThttps://azure.microsoft.com/pl-pl/services/time-series-insights/

• Git Hubhttps://github.com/Microsoft/iot-workshops

Page 39: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH

SQLDay 2017

Q&A

http://[email protected]@microsoft.com

Page 40: SQLDay2017 Graczyk IoT - sql4You.infosql4you.info/wp-content/uploads/2017/05/SQLDay2017...0RJ QD VLHELH QDFKRG]Lý 6NRN RNUH ORQ\ SU]H] VWDâ OLF]E (IHNW DQDORJLF]Q\ GR WXPEOLQJ ZLQGRZMH