Session des Journées SQL Server 2014 - Romain Casteres & Benjamin Guinebertière
----
Lors de la session, nous verrons :
– Des scénarios d’usage
– Comment utiliser Storm et HBase pour analyser de grandes volumétries de données en temps réel
– Comment utiliser le service Azure Stream Analytics pour analyser en temps réel des évènements complexes
Au programme, plein de démos concrètes d’utilisation de l’analyse en temps réel d’évènements fréquents.
2. #JSS2014
Les journées
SQL Server 2014
Un événement organisé par GUSS
Big Data &
Real Time
Romain Casteres
Consultant en BI & Big Data
MVP SQL Server
@PulsWeb
Benjamin Guinebertière
Conseiller technologique
Microsoft Azure
Technical Evangelist
@benjguin
10. #JSS2014
• Stream analytics for Near-Real Time Processing
• Consumes millions of real-time events from a scalable event broker (ie. Apache Kafka, Azure Event Hub)
• Performs time-sensitive computation
• Output to persistent stores, dashboards or devices
Storm
15. #JSS2014
• SignalR
– Hub de communication bi-directionnel client/serveur
Web
– cf http://www.asp.net/signalr
• d3js
– “D3.js is a JavaScript library for manipulating documents
based on data. D3 helps you bring data to life using
HTML, SVG and CSS”
– http://d3js.org/
SignalR / d3js
20. #JSS2014
Event Hubs
• Collecte et diffuse en temps réel jusqu’à un millions d’évènements par secondes
• Jusqu’à 32 partitions permettant de traiter en parallèles les évènements
21. #JSS2014
Stream Analytics
• Traitement de million d’évènement par seconde
• Possibilité de les agréger à la voler, les corréler avec d’autres sources de données
• Pas d’acquisition de Hardware
• Pas de déploiement ni de maintenance
• Garantie de ne pas perdre d'événements
• Garantie de disponibilité (SLA 99,9 %)
• Bénéficié de l’élasticité et la scalabilité qu’offre le Cloud
• Développement SQL Like
• Monitoring des performances et des messages traitées, en erreur, …
• Limitations actuelles : Azure régions (Central US, West Europe), format d'encodage UTF-8, fonction
agrégation (<=7), LEFT OUTER JOIN, une seule Output, …
Le monitoring en temps réel permet de prévenir et d’optimiser dans le but d’être réactif.
Voiture connectée : Eviter les bouchons
Objet Connecté : Création d’une alerte si par exemple la température d’un bâtiment augmente de 10%
Gestion des stocks : Supply chain
Détection de fraudes
Suivi en temps réel des ventes : Création d’offres promotionnels
Analyse de Click Stream : Etudier le comportement des internaute grâce a l’analyse des chemins emprunter sur le site en temps réel
Alertes de portefeuille financier en temps réel : cours des actions en live
Bref avec l’arrivé de l’analyse des réseaux sociaux, des objets connectés, … il est de plus en plus nécessaire d’analyser les données en temps réel et ceux sur des volumétries de plus en plus grandes.
---
Capteurs, météo, cours de Bourse, Manufacturing, Retail (Kineck), … Travel Pricing
Hadoop est disponible dans Azure en tant que service via HDInsight, en tant que Plateforme as a Service avec les distributions Hortonworks et Cloudera.
Un des aspects du Big Data est qu’il travail en mode batch, malgré la parallélisassions des traitements lorsque que le batch à fini de s'exécuter, de nouvelles données sont arrivés (V de Fréquence), la vision est donc erronée.
Des outils de streaming et d'analyse en temps réel ont cependant été développé sur le Framework Hadoop, Benjamin va vous présenter Storm.
---
Le challenge des système Big Data est de Détécter, Anticiper et Predire
Voici l'architecture de la solution de ma démo, je vais reprendre le même jeu de données que Benjamin, à savoir les thermomètres connectés.
Les différents Devise envoient des informations sur la température dans un évent Hub, un stream Analytics reçoit et agrege ces informations puis les enregistrer dans une base de données azure SQL Database. Enfin nous analyserons les données en temps réel dans Excel avec Power View.
Event Hubs est un service en ligne permettant de collecter et de diffuser en temps réel jusqu’à un millions d’évènements par secondes.
Le système de queue a été créé pour répondre au problématique des objets connecté ou des services d’analyse en temps réel
La configuration des partitions permet de paralléliser les traitements
L’envoi d’événements peut se faire soit en utilisant un HTTP POST ou via le protocole AMQP 1.0 (Advanced Message Queuing Protocol).
Les Event Hubs peuvent être créés depuis le portail Azure ou via l’API de management.
---
Azure Service Bus
Main reasons to use = Cost Savings
Pay as you use
No upfront infrastructure costs
Elasticity based on demand
Event Hubs are messaging entities, siblings to queues and topics, that enable the collection of event streams at high throughput, from a diverse set of devices and services. Event Hubs enable a variety of management and monitoring scenarios.
Collecting event streams at high throughput from devices/services for use in real-time and batch processing.
Connecting millions of devices from diverse platforms for sending data (with individual authentication and flow control).
Process event streams per device "in order" using several backend services (publish/subscribe.)
http://azure.microsoft.com/blog/2014/11/05/announcing-azure-event-hubs-general-availability/
Stream Analytics est un service en ligne permettant le traitement d’évènement complexe en temps réel.
Le service est actuellement en Preview depuis le 29 Octobre dernier durant le TechEd Europe 2014.
Généralement, pour créer d’une solution de streaming en temps réel, il faut :
Créer et configurer l’infrastructure (scalables et résistantes aux pannes)
Développer les composants d’entrée, de traitement et de sortie
Implémenter une solution de Monitoring et de Troubleshooting
Stream Analytics permet de gagner du temps en apportant une couche d’abstraction proche du langage SQL.
Les évènements peuvent être archivé pour une utilisation futur (traitement dans HDInsight)
Parce que la notion de temps est fondamentale pour les systèmes de traitement d’événements complexes, Stream Analytics possède des fonction permettant d’agréger au file de l’eau les données. (Tumbling, intervalle de temps fixe)
---
Prix : Provision and run Streaming solution for as less as 23$/month for 1Mb/s troughput + $0.001 Gb troughput
Demo Device Température
Twitter #JSS2014
On parlait des speakers, il y a une chose qui leur tient à cœur !
Stream Analytics est un service en ligne permettant le traitement d’évènement complexe en temps réel.
Le service est actuellement en Preview depuis le 29 Octobre 2014 (annoncé au TechEd Europe 2014)
Généralement, pour la création d’une solution de streaming en temps réel, il faut :
Créer et configurer l’infrastructure (scalables et résistantes aux pannes)
Développer les composants d’entrée, de traitement et de sortie
Implémenter une solution de Monitoring et de Troubleshooting
Stream Analytics permet de gagner du temps en apportant une couche d’abstraction proche au langage SQL aux développeurs.
Les évènements peuvent etre archivé pour une utilisation futur (traitement dans HDInsight)
Prix : Provision and run Streaming solution for as less as 23$/month for 1Mb/s troughput + $0.001 Gb troughput