SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
BI & Data Architect
Stream Analytics ou une
nouvelle loi de l’action-
réaction
Cédric L. Charlier
@Seddryck
In a nutshell
Contributions
open-sources
Compétences
Recognitions
 Agile data warehouse
 Orienté qualité
 Grand fan de l’automatisation
 Microsoft MVP Data
Platform award
 Database architecture
 Data modeling
 Business intelligence
 Data warehousing
 ETL
 Olap/Tabular
 No SQL
 Big data
 Data analysis
 Stream analysis
 Machine learning
 Testing framework pour la BI
 www.nbi.io
 Autres projets sur github
 Deploiement SSRS – RsPackage
 TmBundle pour qques languages
 SSIS depuis .Net - Cassis
 Boites à outils pour la modélisation:
ERMine et Tibre
 Et bien d’autres
Experience
 15 années d’experience avec SQL Server
AzureData Platform
 Ancien consultant, travaillant en interne Elia
Cédric L. Charlier
@Seddryck
seddryck.wordpress.com
Data & BI architect
Cas d’usage du temps réel en BI?
Temps réel sur l’OLTP
• Directement sur l’OLTP
– Columnstore index
– Direct Query
Stream analytics
Agenda
• Introduction (trop tard, c’est passé)
• Event Hub
• Azure Stream Analytics
• Autres solutions (sur Azure)
• Consommer les résultats
• Intégrer ceci dans une architecture data
warehouse
EVENT HUB
La porte d’entrée des événements
Ingérer les données
Event Hub
Event Hub
• Event ingestor (porte-avant de la solution)
• Découple la production d’événements
(publishers) et la consommation (consumers)
• « Low latency » et « High reliability »
Différences Messaging/Event Hub
Messaging (queues et topics)
• Sequencing
• Dead-lettering
• Transaction support
Event Hub
• Excellent débit
• Flexibilité dans le
traitement en aval
• Protocoles
– Publishers : HTTPS et
AMQP 1.0
– Consummers : AMQP
1.0
IoT Hub vs Event Hub
IoT Hub
• Bi-directionnel
• Protocole supp. MQTT
• Sécurité plus granulaire
(device)
• Meilleur monitoring
• Davantage scalable
• Routing plus facile
• Plus complet/puissant que
Event Hub
• A utiliser en combinaison
• IoT Hub
 à l’avant
• Event Hub
 dans la chaine
Event publishers (Event Hub)
• Protocol
– HTTPS
– AMQP 1.0
• Identification
– Shared Access Signature (SAS) token
• Resource URI being accessed
• Expiry signed with a configuration key
– Common SAS token
• Chaque « consumer » lit un sous-ensemble
(partition).
• Les partitions facilitent le « scale-up » horizontal
• Elles sont davantage liées au nombre de
« consumer » concurrents qu’au débit d’ingestion
• Un seul « consumer » par partition à un moment
donné !
• AMQP  Push et pas pull (HTTP GET)
Partitions et « consumers » (Event hub)
Prix et configuration
• Pricing (Basics)
– 2,4 eurocents par million d’événements
– 1,3 eurocents de l’heure (+/- 10€/mois)
• Throughtput unit (débit)
– Ingress: Max. 1MB/s ou 1000 événements/s
– Egress: Max. 2MB/s
– Maximum 20 unités
AZURE STREAM ANALYTICS
Le moteur de décision
Des données à l’information
Des données à l’information
Job stream
analytics
Agrégations
• AGV, MAX, MIN, SUM, COUNT
• STDEV, STDEVP, VAR, VARP
• CollectTop  retourne un tableau
d’événements ordonnés
• TopOne  retourne le premier élément selon
une clause d’ordonnancement
Concept de fenêtres (windows)
• Tumbling, hopping, sliding
• De longueurs fixes
• Chaque événement est lié (ou pas) à une
fenêtre en fonction de son timestamp
• A utiliser avec la notion de GROUP BY
Tumbling
• Toutes les 10 secondes me donner le nombre
d’événements capturés durant cette période
1 2 3 40 10 20 30
1 2 3 4
Hopping
• Fenêtres se chevauchent
• Toutes les 5 secondes me donner le nombre
d’événements qui ont été capturé lors des 10
dernières secondes
Hopping
1 2 3 40 10 20 30
1 2
2
3
3 4
Sliding
• Fenêtres créées en fonction des événements
• A chaque événement me dire combien
d’autres été créés dans la période de 10
secondes précédente
Sliding
1 2 3 40 10 20 30
1 2
5
32
32 4
3 4 5
Relier plusieurs flux
• Différents inputs
– Corrélation entre deux valeurs
• Self-join: se relier à soit même
– Détecter une augmentation/diminution
• INNER ou LEFT OUTER
Données de référence
• Corrélation entre des événements et des
données de référence
– Données changeant lentement ou pas
• Même expérience que la jointure mais sans le
contexte temporel
AUTRES SOLUTIONS DANS
AZURE
Quand Azure Stream Analytics ne suffit plus
Points forts de Azure Stream
Analytics
• Quelques lignes de code pour une fonction
analytique
• SQL-based syntax
• Natif « scale-out »
• Intégration avec Event Hub
Scale-out
• Attention aux partitions!
– Même clés traitées par la même partition
– PARTITION BY … à chaque étape (WITH)
• Pas de parallélisme possible si
– La sortie n’est pas Event Hub ou Blob
– Différence entre le # de partitions input/output
Points faibles
• Pas de transformation des données
• Support de formats limités (csv, json et avro)
• Pas extensible
Apache Storm
• Open-source mais supporté par Microsoft
• Gestion d’un cluster de jobs (ou batchs) pas
de jobs
• Prix par cluster et pas par job
Apache Storm (experience dev.)
• Pas de SQL-like mais du C#/Java
• Pas d’opérateur temporal natif
• Pas de support late-arrival
• Développement via Visual Studio
• Logs plus aboutis
Apache Storm (extensibilité)
• Support de UDF/extensions
• Tout format d’input
• Connecteurs natifs mais également
développables
• Machine learning via Storm Bolts
Quand? Quoi?
POWER BI, MACHINE LEARNING,
STOCKAGE, …
Là où l’action est exécutée
Pour faire quoi?
• Visualiser le résultat
• A nouveau traiter ce résultat dans un autre
flux
– Conserver la nature « flux »
• Stocker le résultat
Quelles sorties (Stockage)
• Azure Data Lake
• SQL Database
• Blob storage
• Table storage
• Document DB
Quelles sorties (2)
• Continuer à travailler sur le flux
– Event Hub
– Service Bus (Queue & Topics)
• Affichage
– Power BI
Et autres …
ARCHITECTURES
Vue complète sur la solution BI
Lambda architecture
Speed layer
Events
Batch layer
Servinglayer
Query
• Données récentes uniquement
• Données “impures”
• Calculs dynamiques
• Latence minimum/notion de stream
• Données non-mutables, append-only
• Données purifiées
• Pré-calculs lourds des vues
• Notion de batch (1x/nuit)
• Stocke les résultats des autres layers
• Réconsillie les données en provenance
des deux autres layers
Lambda architecture on Azure
Speed layer
Events
Batch layer
Servinglayer
Query
Lambda architecture on Azure (2)
Speed layer
Events
Batch layer
Servinglayer
Query
Lambda architecture on Azure (3)
Speed layer
Events
Batch layer
Servinglayer
Query
Cloud’s Natives
Merci beaucoup à nos sponsors !
Thank you to all our sponsors!
Join the conversation
#MSCloudSummit
@MSCloudSummit
Merci Beaucoup! Thank you!
Join the conversation
#MSCloudSummit
@MSCloudSummit

Contenu connexe

Tendances

Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Guillaume Nocent
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0Michel HUBERT
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonThe Incredible Automation Day
 
Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Romain Casteres
 
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinLe Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinPascal MARTIN
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...Publicis Sapient Engineering
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk awsmeliphen
 
JSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeJSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeGUSS
 
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...Nathalie Richomme
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenobleBastien Libersa
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...MS Cloud Summit
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWSJulien SIMON
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Jean-Pierre Riehl
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudVictor Coustenoble
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraVictor Coustenoble
 
Code d'Armor : Cloud Computing PAAS
Code d'Armor : Cloud Computing PAASCode d'Armor : Cloud Computing PAAS
Code d'Armor : Cloud Computing PAASsliard
 

Tendances (19)

Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016Présentation JSS2015 - Le Query Store de SQL Server 2016
Présentation JSS2015 - Le Query Store de SQL Server 2016
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0
 
Aws vs azure
Aws vs azureAws vs azure
Aws vs azure
 
Serverless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric GuigonServerless low cost analytics by Adways y Audric Guigon
Serverless low cost analytics by Adways y Audric Guigon
 
Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014
 
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal MartinLe Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Gibtalk aws
Gibtalk awsGibtalk aws
Gibtalk aws
 
JSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeJSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real Time
 
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
 
Présentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks GrenoblePrésentation d'Amazon Web Services - Human Talks Grenoble
Présentation d'Amazon Web Services - Human Talks Grenoble
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...J1 T1 1 - Azure Data Platform, quelle solution pour quel usage  - Charles-Hen...
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
 
Présentation des services AWS
Présentation des services AWSPrésentation des services AWS
Présentation des services AWS
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le CloudDataStax Enterprise - La plateforme de base de données pour le Cloud
DataStax Enterprise - La plateforme de base de données pour le Cloud
 
Sécurite Amazon Web Services
Sécurite Amazon Web ServicesSécurite Amazon Web Services
Sécurite Amazon Web Services
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache CassandraDataStax Enterprise et Cas d'utilisation de Apache Cassandra
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
 
Code d'Armor : Cloud Computing PAAS
Code d'Armor : Cloud Computing PAASCode d'Armor : Cloud Computing PAAS
Code d'Armor : Cloud Computing PAAS
 

Similaire à J1 T1 5 - Stream Analytics - Cédric Charlier

Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataMicrosoft
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOTCellenza
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piadelegue
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrOxalide
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Technet France
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Décideurs IT
 
Event driven architecture : comment Deezer passe en mode réactif
Event driven architecture : comment Deezer passe en mode réactifEvent driven architecture : comment Deezer passe en mode réactif
Event driven architecture : comment Deezer passe en mode réactifVincent Lepot
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaMicrosoft
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - GenèveaOS Community
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosqlGUSS
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetupAspectize
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc BouchoCellenza
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris AZUG FR
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...☁️Seyfallah Tagrerout☁ [MVP]
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservicesRiadh MNASRI
 
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Marius Zaharia
 
SplunkLive! Paris 2018: Getting Data In
SplunkLive! Paris 2018: Getting Data InSplunkLive! Paris 2018: Getting Data In
SplunkLive! Paris 2018: Getting Data InSplunk
 

Similaire à J1 T1 5 - Stream Analytics - Cédric Charlier (20)

Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big DataAzure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
 
Biztalk summit - IOT
Biztalk summit - IOTBiztalk summit - IOT
Biztalk summit - IOT
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
I don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry piI don't always write reactive application but when I do, it run on raspberry pi
I don't always write reactive application but when I do, it run on raspberry pi
 
Conférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.FrConférence AFUP 20minutes.Fr
Conférence AFUP 20minutes.Fr
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 
Event driven architecture : comment Deezer passe en mode réactif
Event driven architecture : comment Deezer passe en mode réactifEvent driven architecture : comment Deezer passe en mode réactif
Event driven architecture : comment Deezer passe en mode réactif
 
Azure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmediaAzure Camp 9 Décembre - slides session développeurs webmedia
Azure Camp 9 Décembre - slides session développeurs webmedia
 
3 Microsoft Advanced Threat Analytics - Genève
3   Microsoft Advanced Threat Analytics - Genève3   Microsoft Advanced Threat Analytics - Genève
3 Microsoft Advanced Threat Analytics - Genève
 
[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql[JSS2015] - Document db et nosql
[JSS2015] - Document db et nosql
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
 
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...Présentation Microsoft Advanced Threat Analytics  | Deep-Dive - MSCloud Summi...
Présentation Microsoft Advanced Threat Analytics | Deep-Dive - MSCloud Summi...
 
Architectures microservices
Architectures microservicesArchitectures microservices
Architectures microservices
 
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
 
SplunkLive! Paris 2018: Getting Data In
SplunkLive! Paris 2018: Getting Data InSplunkLive! Paris 2018: Getting Data In
SplunkLive! Paris 2018: Getting Data In
 

J1 T1 5 - Stream Analytics - Cédric Charlier

  • 1. BI & Data Architect Stream Analytics ou une nouvelle loi de l’action- réaction Cédric L. Charlier @Seddryck
  • 2. In a nutshell Contributions open-sources Compétences Recognitions  Agile data warehouse  Orienté qualité  Grand fan de l’automatisation  Microsoft MVP Data Platform award  Database architecture  Data modeling  Business intelligence  Data warehousing  ETL  Olap/Tabular  No SQL  Big data  Data analysis  Stream analysis  Machine learning  Testing framework pour la BI  www.nbi.io  Autres projets sur github  Deploiement SSRS – RsPackage  TmBundle pour qques languages  SSIS depuis .Net - Cassis  Boites à outils pour la modélisation: ERMine et Tibre  Et bien d’autres Experience  15 années d’experience avec SQL Server AzureData Platform  Ancien consultant, travaillant en interne Elia Cédric L. Charlier @Seddryck seddryck.wordpress.com Data & BI architect
  • 3.
  • 4.
  • 5. Cas d’usage du temps réel en BI?
  • 6. Temps réel sur l’OLTP • Directement sur l’OLTP – Columnstore index – Direct Query
  • 8. Agenda • Introduction (trop tard, c’est passé) • Event Hub • Azure Stream Analytics • Autres solutions (sur Azure) • Consommer les résultats • Intégrer ceci dans une architecture data warehouse
  • 9. EVENT HUB La porte d’entrée des événements
  • 11. Event Hub • Event ingestor (porte-avant de la solution) • Découple la production d’événements (publishers) et la consommation (consumers) • « Low latency » et « High reliability »
  • 12. Différences Messaging/Event Hub Messaging (queues et topics) • Sequencing • Dead-lettering • Transaction support Event Hub • Excellent débit • Flexibilité dans le traitement en aval • Protocoles – Publishers : HTTPS et AMQP 1.0 – Consummers : AMQP 1.0
  • 13. IoT Hub vs Event Hub IoT Hub • Bi-directionnel • Protocole supp. MQTT • Sécurité plus granulaire (device) • Meilleur monitoring • Davantage scalable • Routing plus facile • Plus complet/puissant que Event Hub • A utiliser en combinaison • IoT Hub  à l’avant • Event Hub  dans la chaine
  • 14. Event publishers (Event Hub) • Protocol – HTTPS – AMQP 1.0 • Identification – Shared Access Signature (SAS) token • Resource URI being accessed • Expiry signed with a configuration key – Common SAS token
  • 15. • Chaque « consumer » lit un sous-ensemble (partition). • Les partitions facilitent le « scale-up » horizontal • Elles sont davantage liées au nombre de « consumer » concurrents qu’au débit d’ingestion • Un seul « consumer » par partition à un moment donné ! • AMQP  Push et pas pull (HTTP GET) Partitions et « consumers » (Event hub)
  • 16. Prix et configuration • Pricing (Basics) – 2,4 eurocents par million d’événements – 1,3 eurocents de l’heure (+/- 10€/mois) • Throughtput unit (débit) – Ingress: Max. 1MB/s ou 1000 événements/s – Egress: Max. 2MB/s – Maximum 20 unités
  • 17. AZURE STREAM ANALYTICS Le moteur de décision
  • 18. Des données à l’information
  • 19. Des données à l’information Job stream analytics
  • 20. Agrégations • AGV, MAX, MIN, SUM, COUNT • STDEV, STDEVP, VAR, VARP • CollectTop  retourne un tableau d’événements ordonnés • TopOne  retourne le premier élément selon une clause d’ordonnancement
  • 21. Concept de fenêtres (windows) • Tumbling, hopping, sliding • De longueurs fixes • Chaque événement est lié (ou pas) à une fenêtre en fonction de son timestamp • A utiliser avec la notion de GROUP BY
  • 22. Tumbling • Toutes les 10 secondes me donner le nombre d’événements capturés durant cette période 1 2 3 40 10 20 30 1 2 3 4
  • 23. Hopping • Fenêtres se chevauchent • Toutes les 5 secondes me donner le nombre d’événements qui ont été capturé lors des 10 dernières secondes
  • 24. Hopping 1 2 3 40 10 20 30 1 2 2 3 3 4
  • 25. Sliding • Fenêtres créées en fonction des événements • A chaque événement me dire combien d’autres été créés dans la période de 10 secondes précédente
  • 26. Sliding 1 2 3 40 10 20 30 1 2 5 32 32 4 3 4 5
  • 27.
  • 28. Relier plusieurs flux • Différents inputs – Corrélation entre deux valeurs • Self-join: se relier à soit même – Détecter une augmentation/diminution • INNER ou LEFT OUTER
  • 29.
  • 30. Données de référence • Corrélation entre des événements et des données de référence – Données changeant lentement ou pas • Même expérience que la jointure mais sans le contexte temporel
  • 31.
  • 32. AUTRES SOLUTIONS DANS AZURE Quand Azure Stream Analytics ne suffit plus
  • 33. Points forts de Azure Stream Analytics • Quelques lignes de code pour une fonction analytique • SQL-based syntax • Natif « scale-out » • Intégration avec Event Hub
  • 34. Scale-out • Attention aux partitions! – Même clés traitées par la même partition – PARTITION BY … à chaque étape (WITH) • Pas de parallélisme possible si – La sortie n’est pas Event Hub ou Blob – Différence entre le # de partitions input/output
  • 35. Points faibles • Pas de transformation des données • Support de formats limités (csv, json et avro) • Pas extensible
  • 36. Apache Storm • Open-source mais supporté par Microsoft • Gestion d’un cluster de jobs (ou batchs) pas de jobs • Prix par cluster et pas par job
  • 37. Apache Storm (experience dev.) • Pas de SQL-like mais du C#/Java • Pas d’opérateur temporal natif • Pas de support late-arrival • Développement via Visual Studio • Logs plus aboutis
  • 38. Apache Storm (extensibilité) • Support de UDF/extensions • Tout format d’input • Connecteurs natifs mais également développables • Machine learning via Storm Bolts
  • 40. POWER BI, MACHINE LEARNING, STOCKAGE, … Là où l’action est exécutée
  • 41. Pour faire quoi? • Visualiser le résultat • A nouveau traiter ce résultat dans un autre flux – Conserver la nature « flux » • Stocker le résultat
  • 42. Quelles sorties (Stockage) • Azure Data Lake • SQL Database • Blob storage • Table storage • Document DB
  • 43. Quelles sorties (2) • Continuer à travailler sur le flux – Event Hub – Service Bus (Queue & Topics) • Affichage – Power BI
  • 45.
  • 47. Lambda architecture Speed layer Events Batch layer Servinglayer Query • Données récentes uniquement • Données “impures” • Calculs dynamiques • Latence minimum/notion de stream • Données non-mutables, append-only • Données purifiées • Pré-calculs lourds des vues • Notion de batch (1x/nuit) • Stocke les résultats des autres layers • Réconsillie les données en provenance des deux autres layers
  • 48. Lambda architecture on Azure Speed layer Events Batch layer Servinglayer Query
  • 49. Lambda architecture on Azure (2) Speed layer Events Batch layer Servinglayer Query
  • 50. Lambda architecture on Azure (3) Speed layer Events Batch layer Servinglayer Query
  • 51. Cloud’s Natives Merci beaucoup à nos sponsors ! Thank you to all our sponsors! Join the conversation #MSCloudSummit @MSCloudSummit
  • 52. Merci Beaucoup! Thank you! Join the conversation #MSCloudSummit @MSCloudSummit