Cube Microstrategy et index en colonnes SQL Server
-
Secteur d'activité
Éditeur de logiciel -
Contexte client
projet décisionnel -
Enjeux client
Déterminer une solution technique parmi plusieurs offertes par la base de données (SQL Server) ou l'outil de reporting (Microstrategy). Etudier la possibilité de retirer les cubes Microstrategy aux profits des index en colonnes MSSQL -
Contexte technologique
- SGBD : MSSQL Server 2014 EE
- Reporting : Microstrategy 9
- ETL : SSIS
-
Délais
10 jours -
Résultat
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 !
Dans ce cas d’étude, on souhaite comparer les performances d’un Cube Microstrategy et index en colonnes SQL Server.
Le cube Microstrategy est 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 SQL Server, 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’exécution) et d’exé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 sur les performances des requêtes SQL
- décomposition compile (orange) vs exec time (bleu)