Contexte
Une dimension déportée est une dimension qui est pointée par une autre dimension. L’utilisation d’une dimension déportée permet d’analyser deux dimensions sans passer par une table de faits. Elle doit se faire pour répondre à des usages spécifiques :
- Faire le lien entre une dimension et l’état courant d’un profil associé contenu dans une mini-dimension
- Séparer une partie des attributs d’une dimension volumineuse
Séparer une partie des attributs d’une dimension volumineuse
Prenons l’exemple d’une dimension SALESREP
(figure ci-contre) contenant les informations aux sujets des vendeurs d’une entreprise. Cette dimension contient un grand nombre d’attributs. On peut remarquer deux ensembles d’attributs liés à des localisations (reporting_location
et work_location
) et des dates (hire
et review
).
Un sujet de préoccupation est ici le maintien de la cohérence des informations contenues dans cette dimension. Cette préoccupation est d’autant plus importante qu’il est possible que les informations concernant certaines localisations et dates soient gérées par ailleurs par d’autres processus ETL. Nous nous retrouvons alors dans un contexte où de multiples processus ETL ciblent la même dimension.
Dans ce contexte, il peut être judicieux d’éliminer les groupes d’attributs qui se répètent pour les stocker dans des dimensions déportées, ici DAY
et LOCATION
(figure ci-dessous).
Il s’agit d’être prudent sur ce type de solution, car nous appliquons ici une technique de normalisation alors que nous cherchons à adopter une approche non normalisée. La conséquence de la normalisation étant une complexification des requêtes et une diminution des performances lors de l’interrogation. Mais, dans ce contexte précis, la solution est acceptable.
Lecture Dimension déportée pour gérer les dimensions volumineuses : Star Schema. Christopher Adamson. pages 163-169
Lecture Dimension déportée : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. pages 170-171, 169, 202
Lien entre une dimension et l’état courant de sa mini-dimension
Le schéma ci-dessous, déjà discuté dans la section mini-dimension, aborde la situation dans laquelle une mini-dimension devient la dimension déportée de la dimension qu’elle allège de façon à maintenir l’information de la valeur courante du profil contenu dans la mini-dimension.
Lecture Dimension déportée pour gérer une mini-dimension : Agile Data Warehouse Design: Collaborative Dimensional Modeling, from Whiteboard to Star Schema Laurence Corr, and Jim Stagnitto. page 169