Objectif : Capturer un grand nombre d’évènements, les corréler entre eux pour permettre une analyse et un reporting en temps réel
Temps réel BI avec Analysis Services (Architecture) :
Source JSS 2013
La capture d’évènement se fait avec Microsoft StreamInsight.
Microsoft StreamInsight est une plate-forme puissante prévue pour développer et déployer des applications de traitement des événements complexes.
Il permet : la corrélation de source de données multiples et extraction, de gérer des flux à temps réel, d’avoir une historique rediffusion de l’événement, la gestion des changements de données pour l’entrepôt de données.
- Intérêt de StreamInsight
- Une complétude entre les outils de captures temps réels et les outils d’analyses BI
- Une adaptabilité du reporting selon les besoins clients
Architecture StreamInsight
Source JSS 2013
- Capture des évènements avec Microsoft StreamInsight
La logique d’intégration des données repose sur un flux se propageant d’un adaptateur source à un adaptateur de destination. Le flux de données est constitué d’évènements dont le type peut être représenté suivant des évènements suivis.
Un évènement est constitué de 2 parties :
- Header
- Payload
L’entête (Header) indique le type d’évènement, il peut être de deux types INSERT ou CTI (Current Time Increment). Le Payload est une structure .net contenant les données associées à l’évènement.
Le modèle d’évènement (Payload) est décliné en trois types :
- Interval Model
- Point Model
- Edge Model
Architecture BI global
L’index ColumnStore au service du ROLAP
L’index ColumnStore apporte un réel gain en termes de performance par rapport à une utilisation d’un cube en mode ROLAP.
Rappelons que le ColumnStore a un haut niveau de compression, une structure montée en mémoire, des lectures en readahead importantes.
La version CLUSTERED du ColumnStoreIndex (que pour SQL Server 2014) permet un accès en Read/Write au données
Temps réel et Reporting avec HTML5
La solution repose alors sur les éléments suivants :
- Fichier.css: Feuille de style CSS contenant les styles utilisés dans la page du dashboard HTML5
- Fichier.html: Page HTML5 représentant le Dashboard
- Fichier.js : Contient le code Javascript faisant les appels à intervalle régulier au web service REST qui ramène les données du cube
- SSASDataService.svc : Markup du service web REST de l’interface StreamInsight faisant le lien avec le cube SSAS
Architecture :
Source JSS 2013
Conclusion :
La solution globale permet alors :
- De capturer des évènements en temps réel
- Un stockage en base SQL Server en temps réel
- Le calcul d’indicateurs directement dans Analysis Services en temps réel
- L’affichage sur des Dashboard HTML5 multi-device en temps réel
Abdoul – Consultant décisionnel MCNEXT