Le Post Infeeny

Les articles des consultants et experts Infeeny

[JSS 2013] Session : BI en temps réel SQL Server

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) :

Architecture Temps réel BI avec Analysis Services

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

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

3-Architecture_BI_global
Source JSS 2013

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 :

 

4-Architecture_Temps_reel_et_Reporting_avec_HTML5

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

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :