SlideShare une entreprise Scribd logo
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
J1 T1 5 - Stream Analytics - Cédric Charlier
J1 T1 5 - Stream Analytics - Cédric Charlier
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
J1 T1 5 - Stream Analytics - Cédric Charlier
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
J1 T1 5 - Stream Analytics - Cédric Charlier
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
J1 T1 5 - Stream Analytics - Cédric Charlier
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 …
J1 T1 5 - Stream Analytics - Cédric Charlier
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

PPTX
Comment l’architecture événementielle révolutionne la communication dans le S...
Vincent Lepot
 
PDF
Azure Stream analytics / Event Hub
Michel HUBERT
 
PPTX
Jss 2015 - Microsoft Stream analytics
Georges Damien
 
PPTX
Premiers pas avec Microsoft Azure Search
MCKLMT
 
PDF
Hi-Media Couchbase meetup Paris Nb #1
Mickaël Le Baillif
 
PDF
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
GUSS
 
PPTX
OVH Public Cloud : VM as a Service
Jean-Guillaume Burlet
 
PDF
Cnam cours azure ze cloud intro et présentation generale 2016
Aymeric Weinbach
 
Comment l’architecture événementielle révolutionne la communication dans le S...
Vincent Lepot
 
Azure Stream analytics / Event Hub
Michel HUBERT
 
Jss 2015 - Microsoft Stream analytics
Georges Damien
 
Premiers pas avec Microsoft Azure Search
MCKLMT
 
Hi-Media Couchbase meetup Paris Nb #1
Mickaël Le Baillif
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
GUSS
 
OVH Public Cloud : VM as a Service
Jean-Guillaume Burlet
 
Cnam cours azure ze cloud intro et présentation generale 2016
Aymeric Weinbach
 

Tendances (19)

PPTX
Présentation JSS2015 - Le Query Store de SQL Server 2016
Guillaume Nocent
 
PPTX
Xebicon architectures microservices azure v1.0
Michel HUBERT
 
PDF
Aws vs azure
Manfred Dardenne
 
PDF
Serverless low cost analytics by Adways y Audric Guigon
The Incredible Automation Day
 
PPTX
Big Data & Real Time #JSS2014
Romain Casteres
 
PPTX
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Pascal MARTIN
 
PDF
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
Publicis Sapient Engineering
 
PPTX
Azure Camp 9 Décembre 2014 - slides Keynote
Microsoft
 
ODP
Gibtalk aws
meliphen
 
PPTX
JSS2014 - Big Data et Real Time
GUSS
 
PDF
4D Summit Europe 2016 - Conférence d'A&C Consulting : "Stocker des données su...
Nathalie Richomme
 
PDF
Présentation d'Amazon Web Services - Human Talks Grenoble
Bastien Libersa
 
PPTX
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
MS Cloud Summit
 
PDF
Présentation des services AWS
Julien SIMON
 
PPTX
Cloud et BI, quelle architecture pour 2014 ?
Jean-Pierre Riehl
 
PPTX
DataStax Enterprise - La plateforme de base de données pour le Cloud
Victor Coustenoble
 
ODP
Sécurite Amazon Web Services
Aurélien Pelletier
 
PPTX
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
Victor Coustenoble
 
PPTX
Code d'Armor : Cloud Computing PAAS
sliard
 
Présentation JSS2015 - Le Query Store de SQL Server 2016
Guillaume Nocent
 
Xebicon architectures microservices azure v1.0
Michel HUBERT
 
Aws vs azure
Manfred Dardenne
 
Serverless low cost analytics by Adways y Audric Guigon
The Incredible Automation Day
 
Big Data & Real Time #JSS2014
Romain Casteres
 
Le Cloud, une réponse à nos besoins - Apéro Digital avril 2019 - Pascal Martin
Pascal MARTIN
 
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
Publicis Sapient Engineering
 
Azure Camp 9 Décembre 2014 - slides Keynote
Microsoft
 
Gibtalk aws
meliphen
 
JSS2014 - Big Data et Real Time
GUSS
 
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
Bastien Libersa
 
J1 T1 1 - Azure Data Platform, quelle solution pour quel usage - Charles-Hen...
MS Cloud Summit
 
Présentation des services AWS
Julien SIMON
 
Cloud et BI, quelle architecture pour 2014 ?
Jean-Pierre Riehl
 
DataStax Enterprise - La plateforme de base de données pour le Cloud
Victor Coustenoble
 
Sécurite Amazon Web Services
Aurélien Pelletier
 
DataStax Enterprise et Cas d'utilisation de Apache Cassandra
Victor Coustenoble
 
Code d'Armor : Cloud Computing PAAS
sliard
 
Publicité

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

PPTX
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Microsoft
 
PPTX
Biztalk summit - IOT
Cellenza
 
PPTX
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Marius Zaharia
 
PPTX
Big data architectures
Mariem Khalfaoui
 
PDF
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Microsoft Décideurs IT
 
PDF
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Microsoft Technet France
 
PPTX
Spark Streaming
PALO IT
 
PPTX
Monitorez votre solution IoT avec Stream Analytics et Power BI
Joël Crest
 
PDF
Event-sourcing avancé avec Scala
Paris Scala User Group
 
PDF
Volcamp 2023 - Compter les moutons à grande échelle
Karim Bogtob
 
PDF
Stream processing et SQL
Bruno Bonnin
 
PPTX
Architectures lambda - Techdays camps 2015
Georges Damien
 
PPTX
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
AZUG FR
 
PDF
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Bruno Bonnin
 
PDF
Architectures lambda - Microsoft
Michel HUBERT
 
PDF
BigData_Chp3: Data Processing
Lilia Sfaxi
 
PDF
Stream processing et SQL
Bruno Bonnin
 
PPTX
JSS2014 - StreamInsight
GUSS
 
PPTX
Azure Data Factory, Mouvement de données hybride
Jean-Pierre Riehl
 
PPTX
[JSS2015] Architectures Lambda avec Azure Stream Analytics
GUSS
 
Azure Camp 9 Décembre 2014 - slides session développeurs IOT Big Data
Microsoft
 
Biztalk summit - IOT
Cellenza
 
Sql Saturday Paris 2016 - De StreamInsight à Azure Stream Analytics
Marius Zaharia
 
Big data architectures
Mariem Khalfaoui
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Microsoft Décideurs IT
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Microsoft Technet France
 
Spark Streaming
PALO IT
 
Monitorez votre solution IoT avec Stream Analytics et Power BI
Joël Crest
 
Event-sourcing avancé avec Scala
Paris Scala User Group
 
Volcamp 2023 - Compter les moutons à grande échelle
Karim Bogtob
 
Stream processing et SQL
Bruno Bonnin
 
Architectures lambda - Techdays camps 2015
Georges Damien
 
Gab17 lyon - La BI traditionnelle est une histoire du passée. Impacts de la r...
AZUG FR
 
Guide (un tout petit peu) pratique (et totalement subjectif) du stream proces...
Bruno Bonnin
 
Architectures lambda - Microsoft
Michel HUBERT
 
BigData_Chp3: Data Processing
Lilia Sfaxi
 
Stream processing et SQL
Bruno Bonnin
 
JSS2014 - StreamInsight
GUSS
 
Azure Data Factory, Mouvement de données hybride
Jean-Pierre Riehl
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
GUSS
 
Publicité

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
  • 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
  • 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
  • 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
  • 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
  • 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