mai
2008
Bon alors bon !
Nous avons vu dans l’article précédent : modéliser en étoile les principes de bases sur lesquelles nous devons nous reposer pour modéliser un entrepôt de données. Il est clair que tout n’a pas été couvert, c’est tellement vaste ! : analyse du besoin en information, techniques de collecte d’information, traitement des données historiques … (c’est pas pour rien que c’est de grosses équipes qui font ce genre de projets).
Nous allons voir maintenant une variante (ou carrément une autre approche du modèle en étoile) : Le flocon !
Définition :
Qu’est ce qu’un flocon en informatique décisionnelle ? C’est une libérté que les analystes s’offrent pour gagner en performance.
Problème :
Imaginez que nous ayons une dimension Produit, les concepts de produit, groupe produit, collection produit, et série produit y seraient représentés. Notre schéma en étoile serait bien fait mais quand nous passerons à la pratique, c’est à dire implémenter la base de donnée, nous risquons d’avoir quelques petits soucis de performance !! surtout si nous avons 10 catégories de produits et un million de produits en dessous. Les catégories seront répétées pour chaque enregistrement, multipliez la taille (en Ko) du champ par le nombre de lignes, sa en fait de l’espace… Mais ce n’est pas vraiment ça le problème. Pour avoir une fluidité d’utilisation, on devra construire un gros index au niveau du champs de Catégorie en plus de tous les autres champs d’agrégats avec tout ce que cela implique de gestion. Notre souci principal est l’ergonomie du client et sa satisfaction et question performance, quand nous avons un petit agrégat avec un très gros détail… Le petit sablier de Windows risque d’apparaitre souvent.
Solution :
« Floconer » notre dimension (et oui ! ce mot existe, en BI en tout cas). C’est à dire, créer une table d’agrégat des Catégories par exemple, qui aura une relation avec la dimension Produit, et donc avec la table de fait. Comme le montre l’image suivante :
Vous pouvez voir que DimProduit est liée à DimCatégorie qui regroupe les catégories et les sous catégories.
Que ce soit clair ! on ne fait pas de l’entité relation ici, ce schéma n’est pas en troisième forme normale, et on ne veut pas qu’il le soit ! C’est juste une astuce pour gagner en performance et en rapidité.
Ah oui ! On appelle ce schéma « flocon » parce qu’il ressemble à un flocon quand on agrège plusieurs dimensions
Quand floconer ? :
J’ai souvent posé cette question pendant ma découverte de ce modèle. Et bien la réponse est dans la définition ! On agrège quand les performances ne sont pas au rendez vous, on floconne quand c’est plus pratique pour tout le monde (les données sont mieux structurées et présentées). Il existe une règle (officieuse, mais qui tient plus de la logique à mon sens) et qui dit qu’on commence à penser flocon quand on atteint le 1 pour 1000, c’est à dire un agrégat englobe 1000 entrées de détail (une catégorie référence 1000 produits). Non, je me suis mal exprimé, sa serait plutôt : avant le 1 pour 1000 ne pensez même pas au flocon
Mais comme je l’ai dit c’est juste une règle de bonne pratique relative à la puissance du matériel et du logiciel utilisé à l’heure ou on parle. Il se pourrait très bien que cette nécessité disparaisse dans quelque années.
Flocon dans la dimension Date :
Une utilité plus qu’évidente serait pour le cas des dimensions de date qui tienne compte des minutes et secondes dans une transaction (cas d’un opérateur téléphonique par exemple). Il est clair que si l’on veut suivre les transactions à la seconde, il faudrait une dimension de temps méchament grande ! Imaginez toutes les dates (années, mois, jour, heure, minute, seconde) sur cinq années…Ça en ferait de l’enregistrement !!! Solution : agréger les dates (année, mois, jour) dans une table et laisser (hePublier le messageure, minute, seconde) dans une table enfant. On divise par beaucoup le nombre de lignes !!!!
Question :
si on crée une table agrégat pour une catégorie, tout ajout d’un produit modifiera la table agrégat ..???
donc il faudra un traitement qui ‘recalculera’ tout cela ?
un traitement long …??
de nuit ?
j’ai bon ?
bonjour,
comme pour les schémas en étoile, pas d’image du schéma Flocon ici..
dommage pour la compréhension…