fiche référence client

Des cas réels de problématiques traitées pendant les audits de performance ou les missions d'architecture et d'expertise

Contexte
Project décisionnel
Technologies
  • SGBD : MS SQL Server 2014 EE
  • ETL : SSIS
  • Reporting : Microstrategy V9.4 On Premise

Objectif

Etudier la possibilité de retirer les cubes Microstrategy aux profits des index en colonnes MSSQL

Dans ce cas d'étude, un cube Microstrategy, composé de dizaines de mesures et de dimensions, est généré par une quarantaine de requêtes SQL sur une base de données SQL Server en version 2014 Enterprise Edition. Les index en colonnes, sont utilisés. Peuvent-ils dans ce cas remplacer le cube Microstrategy ?  Ils ont drastiquement réduit la taille des tables en base. Les types de données des identifiants ont joué un rôle important sur les performances qu'il a fallut optimiser. Au final il fut très intéressant de voir la décomposition des temps des requêtes en terme de compilation (calcul du plan d'éxécution) et d'éxécution (récupération des données).

Les diagrammes suivants illustrent ces trois parties de l'étude : taille des tables avant/après compression, influence des types de données et décomposition compile (orange) vs exec time (bleu) :

  Compression des clustered columnstored index   Influence des types de données   Compile (orange) vs Exec (bleu) Time
     

 Une fois créé le cube répond en quelques centi-secondes. Pour les utilisateurs finaux pas question de se passer de telles performances. Les cubes Microstrategy vont encore perdurer ici. Mais les temps de calcul de celui-ci ont pu être réduit par 10.

 

Résultats

Malgré une amélioration par 10 des performances de bases de données, les index en colonne ne permettent pas une génération suffisamment rapide pour supplanter le cube Microstrategy