Le Post Infeeny

Les articles des consultants et experts Infeeny

[PASS SUMMIT 2013] Fast Performing SSAS hierarchies : tips and tricks

Speaker : Jose Chinchilla – President & CE AgileBay Inc.

Niveau de la session : 200

1. Types and classification of hierarchies :

* Natural and unnatural hierarchies :

  • natural : existe physiquement sur le disque. Offre de meilleure performance (exemple : year / quarter / month / day),
  • unnatural : non performante car relations logiques entre les attributs –> à éviter au maximum et attention aux problèmes de déploiement à cause des duplicate keys,

* Attribute and user hierarchies :

  • attribute : les attributs de la dimension sont des hiérarchies par défaut (All / liste des valeurs),
  • user : créé par l’utilisateur via des drags & drops,
  • IsAggregatable = False –> pour cacher le ALL dans la hiérarchie d’attributs,
  • Il faut définir les relations entre les attributs dans les user hierarchies afin d’optimiser le temps de réponse des requêtes. La définition de la relation se fait en glissant l’enfant vers le parent (Follow my daddy),

* Values Discretization :

  • Permet de créer des intervalles de valeur (ex. size range – size),
  • Mettre la propriété « DiscretizationMethod » du champ à Automatic puis spécifier le nombre d’intervalles à générer dans la propriété « DiscretizationBucketCount »,

* Bonne pratique : spécifier la propriété « Type » de la dimension et de ses attributs (ex. Type = ‘Time’ pour la dimension date, ‘Geography’ pour la dimension géographie, etc.),

2. Performance Optimizations :

* Modeling : un bon modèle multidimensionnel garantit une bonne performance du cube,

* Aggregations : Pré-aggrégation d’un groupe de mesures selon la granularité des dimensions avec lesquelles il est en relation (via des clés étrangères ou des références),

* Partitions : La stratégie classique de partitionnement  est de la faire en fonction du temps puis de processer uniquement celle relative au mois en cours, au 2 derniers mois, etc. (tout dépend du besoin métier),

* SSAS QueryLog : option disponible via clic droit sur l’instance SSAS, Propriétés, Général et activer l’option Log / Query Log / CreateQueryLogTable qui va créer une table de journalisation dans la base de données spécifiée. Cette table permettra de voir toutes les requêtes exécutées sur le cube avec des statistiques (Start Time, Duration, etc.),

* Usage-Based Optimisation Wizard,

Conclusion :

Session qui reprend les bases de mise en place des hiérarchies dans un cube OLAP et présente quelques astuces d’optimisation. Elle reste peu intéressante si on maîtrise déjà le sujet mais assez pédagogique sinon…

Ismaïl Ben Lamine

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 :