L’analyse multidimensionnelle est la capacité à analyser des données qui ont été agrégées suivant plusieurs dimensions. Dans cet article, vous allez découvrir les schémas en étoile et en flocon de neige , les modèles de données multidimensionnels les plus populaires. Vous retrouverez un tableau comparatif de ces deux modèles en fin d’article.
Un cube OLAP, c’est quoi ?
Les hypercubes OLAP, pour Online Analytical Processing sont utilisés pour représenter des données à n dimensions. Les données sont structurées suivant plusieurs axes d’analyse multidimensionnels comme le temps, la localisation …
Une cellule est l’intersection de différentes dimensions. Le calcul de chaque cellule est réalisé au chargement. Le temps de réponse est ainsi stable quelle que soit la requête.
Les cubes sont conçus pour pouvoir être utilisés par tous les employés de l’entreprise, et sont capables de rapporter des millions d’enregistrements en une seule fois.
Les schémas en étoile et en flocon de neige sont les modèles de données multidimensionnels les plus populaires. S’il existe des différences cruciales entre ces deux technologies, elles utilisent toutes les deux les tables de faits et les tables de dimensions pour créer et construire un schéma.
Ces modèles de base de données sont couramment utilisés pour répondre aux besoins d’analyse dans des entrepôts de données d’entreprise- Data Warehouses.
Etudions dans un premier temps la différence entre ces deux tables puis nous nous intéresserons aux modèles de données.
Table de faits et table de dimensions
La table de faits et la table de dimensions sont utilisées pour créer des schémas de données. L’enregistrement d’une table de faits est une combinaison d’attributs de différentes tables de dimension. La table de faits permet à l’utilisateur d’analyser les différents métiers composants de l’entreprise : Commerce, RH, service support…
Cela va aider à prendre des décisions pour améliorer les différentes activités qui gravitent autour de la société.
Voici quelques éléments à prendre en compte :
- La table de faits contient des mesures sur les attributs d’une table de dimension.
- La table de faits contient plus d’enregistrements et moins d’attributs par rapport à la table de dimension.
- La table de faits augmente de taille verticalement tandis que la table de dimension augmente horizontalement.
- Chaque table de dimension contient une clé primaire pour identifier chaque enregistrement dans la table, tandis que la table de faits contient une clé concaténée qui est une combinaison de toutes les clés primaires de toutes les tables de dimension.
- La table de dimension doit être enregistrée avant la création de la table de faits.
- Un schéma contient moins de tables de faits mais plus de tables de dimension.
- Les attributs de table de faits sont à la fois numériques et textuels, tandis que les tables de dimension n’ont que des attributs textuels.
Définition du schéma en étoile
Le schéma en étoile est le modèle architectural le plus répandu et le plus largement utilisé pour développer des entrepôts de données dans lesquels les données sont organisées en faits et en dimensions.
Le schéma imite une étoile, avec une table de dimension présentée dans un motif étalé entourant la table de faits centrale. La table de dimensions est connectée aux tables de faits via la clé primaire et la clé étrangère.
La simplicité est l’un des aspects attrayants du schéma en étoile, les principales justifications à son utilisation sont sa performance et sa facilité de compréhension.
Définition du schéma de flocon de neige
Le schéma en flocon de neige est un type de schéma en étoile qui inclut la forme hiérarchique des tables dimensionnelles. Dans ce schéma, il existe une table de faits composée de différentes tables de dimension et de sous-dimension reliées par des clés primaires et étrangères à la table de faits.
C’est une extension du schéma en étoile avec des fonctionnalités ajoutées. Contrairement au schéma en étoile, les tables de dimension du schéma en flocon sont normalisées en plusieurs tables associées. Le schéma en flocons de neige est conçu pour répondre à des requêtes sur une dimension ayant des relations complexes entre ses niveaux.
Ce type de schéma est approprié aux dimensions dont les niveaux sont reliés par des relations n à n et 1 à n.
Ce type de schéma utilise une normalisation qui partitionne les données en tables. Le fractionnement permet de réduire les redondances et d’éviter les fuites de mémoire. Un schéma en flocon de neige est plus facile à maintenir mais plus complexe à concevoir et à comprendre que le de schéma en étoile.
Cela peut également réduire l’efficacité de la navigation, car davantage de jointures sont nécessaires pour exécuter une requête.
Schéma en étoile ou en flocon de neige : Lequel choisir ?
Intégrité des données
La principale différence entre les deux modèles de bases de données relationnelles est la normalisation. Les tables de dimension du schéma en étoile ne sont pas normalisées, ce qui signifie que le modèle commercial utilise relativement plus d’espace disque pour stocker les tables de dimension.
Cela génère plus d’enregistrements redondants qui peuvent être sources d’incohérences. Le schéma en flocon, d’autre part, minimise la redondance des données puisque les tables à dimensions sont normalisées. Les dimensions sont préservées grâce à l’intégrité référentielle, ce qui signifie que les relations peuvent être maintenues indépendamment entre les magasins de données.
Performance de la requête
Le schéma en étoile comporte moins de jointures entre la table de dimension et la table de faits que le schéma en flocon de neige, ce qui représente une complexité moindre des requêtes.
Les dimensions d’un schéma en étoile étant liées via une table de faits centrale, les chemins de jointure sont clairs, ce qui signifie des temps de réponse aux requêtes rapides et donc de meilleures performances. Le schéma Snowflake a un nombre plus élevé de jointures, ce qui allonge le temps de réponse des requêtes, les rendant plus complexes, compromettant ainsi les performances.
Voilà, j’espère que vous avez désormais les idées claires sur les différences et les avantages de chacun des modèles de données multidimensionnelles. Je vous avais promis un cadeau en fin d’article, le voici : un tableau récapitulatif à enregistrer pour être incollable !
Tableau comparatif des deux schémas
Vous souhaitez apprendre à maîtriser des outils de gestion de grandes bases de données,
rendez-vous sur notre cursus Data Engineer !