Schéma de flocon de neige dans le modèle d'entrepôt de données

⚡ Résumé intelligent

Le schéma en flocon de neige, utilisé dans la modélisation d'entrepôts de données, organise des tables de dimensions normalisées qui se ramifient à partir d'une table de faits centrale, à l'image d'un flocon de neige. Il étend le schéma en étoile, réduit la redondance des données et organise les hiérarchies à travers plusieurs tables de consultation liées.

  • 🧩 Structure de base : Une table de faits centrale se connecte à des tables de dimensions qui sont normalisées en sous-tables de dimensions et de consultation.
  • ❄️ Normalisation: Le fait de diviser chaque dimension en tables liées élimine les attributs répétitifs et rapproche les hiérarchies de la troisième forme normale.
  • ???? Relation avec le schéma en étoile : Le schéma en flocon de neige étend le schéma en étoile en normalisant ses tables de dimensions plates et dénormalisées.
  • (I.e. Avantage en matière de stockage : Des tables de consultation normalisées plus petites réduisent l'utilisation du disque et éliminent les données redondantes, ce qui facilite la maintenance.
  • 🔗 Compromis entre les requêtes : Plus de tables impliquent plus de jointures, ce qui peut ralentir les performances des requêtes et compliquer la production de rapports.
  • 🧭 Quand utiliser: Choisissez-le pour les données de grande dimension avec des hiérarchies profondes où les économies de stockage et l'intégrité des données sont primordiales.
  • 🪐 Schémas associés : Les modèles de galaxies et d'amas d'étoiles s'appuient sur les concepts d'étoiles et de flocons de neige pour des modèles plus complexes.

Schéma en flocon de neige dans un entrepôt de données avec des tables de dimensions normalisées issues d'une table de faits centrale

Qu'est-ce qu'un schéma de flocon de neige?

A Schéma de flocon de neige Dans un entrepôt de données, il s'agit d'un agencement logique de tables dans une base de données multidimensionnelle dont diagramme entité-relation (ER) ressemble à la forme d'un flocon de neige. C'est un modèle dimensionnel dans lequel une table de faits centrale est liée à des tables de dimensions, et ces tables de dimensions sont elles-mêmes divisées en sous-tables de dimensions connexes.

Le schéma en flocon de neige est une extension du schéma en étoile. Alors que le schéma en étoile conserve chaque dimension dans une seule table plate, le schéma en flocon de neige normalise ces dimensions en répartissant les groupes de données répétitifs dans des tables de consultation supplémentaires. Cette normalisation élimine les redondances et crée la structure hiérarchique et ramifiée qui donne son nom au schéma.

Exemple de schéma de flocon de neige

Dans l'exemple de schéma en flocon de neige suivant, une table de faits « Ventes » est au centre, entourée de dimensions telles que « Produit », « Date » et « Magasin ». Au lieu de stocker chaque attribut dans une seule table de dimension, les informations géographiques sont normalisées : le pays est placé dans une table distincte.

Exemple de schéma en flocon de neige avec une table de faits centrale et une table de dimension Pays normalisée
Exemple de schéma en flocon de neige

Ici, la dimension Magasin fait référence à une table Ville, la table Ville fait référence à une table État, et la table État fait référence à une table Pays. Chaque valeur est stockée une seule fois et liée par une clé étrangère ; ainsi, le nom d’un pays n’est jamais répété sur des millions de lignes. Cette normalisation par couches est ce qui distingue un schéma en flocon de neige d’un schéma en étoile.

Caractéristiques du schéma en flocon de neige

Le schéma en flocon de neige possède plusieurs caractéristiques déterminantes :

  • Elle utilise moins d'espace disque, car les tables de dimensions normalisées évitent de stocker des valeurs répétées.
  • De nouvelles dimensions peuvent être ajoutées au schéma avec un effort relativement faible.
  • Les performances des requêtes peuvent diminuer, car la récupération des données nécessite la jointure de nombreuses tables.
  • Cela nécessite davantage d'efforts de maintenance, car un plus grand nombre de tables de consultation doivent être gérées.

Comment concevoir un schéma en flocon de neige

La conception d'un schéma en flocon de neige commence comme pour tout modèle dimensionnel, puis ajoute une étape de normalisation. L'objectif est d'identifier le processus métier à analyser, de le modéliser d'abord sous forme de schéma en étoile, puis de normaliser les dimensions contenant des hiérarchies profondes. Suivez les étapes suivantes :

  1. Identifier le processus métier et le grain. Déterminez ce que représente une seule ligne du tableau de faits, par exemple une transaction de vente, et définissez les mesures numériques, ou faits, sur lesquels vous devez établir un rapport.
  2. Constituer la table de faits centrale. Ajoutez les mesures numériques ainsi que les clés étrangères qui pointent vers chaque dimension ; ensemble, ces clés étrangères forment généralement la clé primaire composite.
  3. Définir les tables de dimensions. Créez une table pour chaque dimension descriptive, comme Produit, Client, Date et Magasin, et attribuez à chacune une clé primaire de substitution.
  4. Normaliser les hiérarchies. Divisez chaque dimension contenant des attributs répétitifs en tables de sous-dimensions, par exemple en déplaçant la catégorie hors de la dimension Produit, ou la ville, l'état et le pays hors de la dimension Magasin.
  5. Reliez les tables à l'aide de clés étrangères. Reliez chaque sous-dimension à sa table parente afin que les branches forment des hiérarchies claires de type un-à-plusieurs qui ressemblent à un flocon de neige.
  6. Valider et tester avec des requêtes. Exécutez des requêtes de reporting représentatives pour confirmer que les jointures renvoient des résultats corrects et que les performances globales restent acceptables.

Étant donné que la conception normalise les données selon la troisième forme normale, il est essentiel de documenter clairement les chemins de jointure afin que les analystes comprennent comment naviguer dans chaque branche. Une fois la structure définie, il convient d'évaluer les avantages et les inconvénients du schéma.

Avantages du schéma en flocon de neige

Le schéma en flocon de neige offre de nombreux avantages :

  • Son principal avantage réside dans la réduction de l'espace disque nécessaire, car la fusion de tables de consultation normalisées plus petites évite la duplication des données de dimension.
  • Elle offre une plus grande évolutivité dans les relations entre les composants et les niveaux de dimension.
  • Cela élimine les redondances, ce qui améliore l'intégrité des données et facilite la maintenance du modèle.
  • Un attribut descriptif n'est mis à jour qu'à un seul endroit, ce qui réduit le risque d'incohérences dans les données.

Inconvénients du schéma en flocon de neige

Ce modèle présente également des compromis à prendre en compte :

  • La structure normalisée accroît la maintenance nécessaire à la gestion de nombreuses tables liées.
  • Les requêtes complexes qui impliquent plusieurs jointures peuvent être difficiles à écrire et à comprendre.
  • Un plus grand nombre de tables implique plus de jointures, ce qui allonge le temps d'exécution des requêtes.
  • Les utilisateurs professionnels trouvent souvent le modèle arborescent plus difficile à appréhender qu'un simple schéma en étoile.

Schéma en flocon de neige vs schéma en étoile

Le schéma en flocon de neige et le schéma en étoile Les deux architectures multidimensionnelles les plus courantes en entreposage de données sont l'étoile et le flocon de neige. Leur principale différence réside dans la normalisation. L'étoile stocke chaque dimension dans une seule table plate et dénormalisée pour une vitesse de requête maximale, tandis que le flocon de neige normalise ces dimensions dans plusieurs tables liées afin d'économiser de l'espace de stockage et de préserver l'intégrité des données. De ce fait, ces deux schémas répondent à des priorités différentes.

AspectSchéma en étoileSchéma de flocon de neige
Tableaux de dimensionsDénormalisé, une table par dimensionNormalisé en tables de sous-dimensions
Stockage Utilise plus d'espace en raison de la redondanceUtilise moins d'espace, aucune redondance
Performances des requêtesPlus rapide, moins de jonctionsPlus lent, plus de jonctions
Complexité des requêtesSimple à écrirePlus complexe
Le mieux adapté pourRapports rapides et BIGrandes dimensions hiérarchiques

En résumé, privilégiez un schéma en étoile lorsque la vitesse des requêtes et la simplicité des rapports sont primordiales, et un schéma en flocon de neige lorsque l'efficacité du stockage, la clarté des hiérarchies et la faible redondance des données sont prioritaires. De nombreux entrepôts de données combinent les deux modèles en fonction de la taille et de la profondeur de chaque dimension.

Quand utiliser un schéma en flocon de neige

Un schéma en flocon de neige n'est pas toujours le plus adapté ; il est donc important d'adapter sa conception à la charge de travail et aux besoins en matière de reporting. Il est généralement plus performant dans les situations suivantes :

  • Les dimensions sont très grandes et contiennent de nombreux attributs répétitifs qui gaspillent de l'espace de stockage lorsqu'ils sont dénormalisés.
  • Les dimensions possèdent des hiérarchies profondes et bien définies, telles que Région → Pays → État → Ville, qui correspondent naturellement à des tables distinctes.
  • L'intégrité et la cohérence des données sont plus importantes pour le projet que la vitesse brute des requêtes.
  • Les coûts de stockage constituent une préoccupation réelle et les économies d'espace disque réalisées sur des tables de très grande dimension sont significatives.
  • Le modèle alimente OLAP des outils capables de naviguer efficacement dans des hiérarchies normalisées.

À l'inverse, lorsque la priorité est de générer des rapports rapides et simples pour les analystes métier, un schéma en étoile ou une architecture hybride en grappe d'étoiles est généralement plus appropriée. architectures d'entrepôt de données combiner délibérément les deux approches pour équilibrer vitesse et stockage.

Qu'est-ce qu'un schéma Galaxy ?

A Schéma de la galaxie Il contient au moins deux tables de faits qui partagent des tables de dimensions. On l'appelle aussi schéma de constellation de faits, et, puisqu'il peut être vu comme un ensemble d'étoiles, il est également appelé schéma de galaxie.

Exemple de schéma de galaxie avec deux tables de faits partageant des tables de dimensions conformes
Exemple de schéma Galaxy

Comme vous pouvez le constater dans l'exemple ci-dessus, il existe deux tables de faits :

  1. Revenue
  2. Produit

Dans un schéma de galaxie, les dimensions partagées entre les tables de faits sont appelées dimensions conformes.

Caractéristiques du schéma Galaxy

Le schéma de la galaxie présente les caractéristiques suivantes :

  • Les dimensions sont séparées en dimensions distinctes en fonction des différents niveaux de la hiérarchie.
  • Par exemple, si la géographie comporte quatre niveaux hiérarchiques — région, pays, État et ville —, alors le schéma galactique devrait comporter quatre dimensions.
  • Il est possible de construire ce type de schéma en divisant un seul schéma en étoile en plusieurs schémas en étoile.
  • Les dimensions de ce schéma sont importantes et doivent être construites en fonction des niveaux de la hiérarchie.
  • Ce schéma est utile pour agréger les tables de faits afin de faciliter une meilleure analyse et une meilleure compréhension.

Qu'est-ce que l'étoile Cluster Schéma?

Un schéma en flocon de neige contient des hiérarchies entièrement développées, ce qui peut complexifier le système et nécessiter des jointures supplémentaires. À l'inverse, un schéma en étoile contient des hiérarchies entièrement réduites, ce qui peut engendrer des redondances. La meilleure solution consiste souvent en un compromis entre ces deux architectures : le schéma en étoile. Cluster Schéma.

Exemple de schéma en étoile qui équilibre les formes en étoile et en flocon de neige
Exemple d'étoile Cluster Programme

Chevauchementping Les dimensions apparaissent comme des bifurcations dans les hiérarchies. Une bifurcation se produit lorsqu'une entité joue le rôle de parent dans deux hiérarchies dimensionnelles différentes. Ces entités bifurquées sont ensuite identifiées comme des classifications avec des relations un-à-plusieurs, ce qui limite le nombre de tables supplémentaires créées par la conception.

FAQ

Ce schéma tire son nom de son diagramme entité-relation qui se ramifie à l'image d'un flocon de neige. La normalisation de chaque dimension en sous-dimensions et tables de correspondance crée de multiples niveaux interconnectés rayonnant à partir de la table de faits centrale, formant une structure qui évoque un cristal de flocon de neige.

La normalisation consiste à diviser une table de dimension en tables plus petites et liées afin d'éliminer les données redondantes. Dans un schéma en flocon de neige, les attributs tels que la catégorie ou le pays sont placés dans leurs propres tables, atteignant généralement la troisième forme normale (3NF), ce qui réduit la redondance et garantit que chaque valeur n'est stockée qu'une seule fois.

Une table de faits stocke des événements commerciaux numériques et mesurables, tels que les montants des ventes, ainsi que des clés étrangères vers les dimensions. Une table de dimensions stocke des attributs descriptifs, comme le nom du produit ou la région, qui contextualisent ces faits. Les tables de faits sont généralement beaucoup plus volumineuses que les tables de dimensions.

Une sous-dimension, parfois appelée table de liaison, est une table normalisée qui se ramifie à partir d'une dimension principale. Par exemple, une dimension Produit peut être liée à une table Catégorie distincte. Ces tables supplémentaires créent la hiérarchie à plusieurs niveaux caractéristique de la structure en flocon de neige.

Oui. De nombreux entrepôts combinent les deux modèles, normalisant uniquement les grandes dimensions qui en bénéficient, tout en conservant…ping Des dimensions réduites à plat. Ce schéma hybride, parfois appelé schéma en étoile, allie la vitesse d'exécution des requêtes d'un schéma en étoile aux économies de stockage d'un schéma en flocon de neige.

Oui. Un schéma en flocon de neige alimente OLAP Les systèmes de type « cube » sont performants car leurs hiérarchies normalisées permettent une analyse détaillée par niveaux, tels que le pays, la région et la ville. Cependant, les jointures supplémentaires peuvent ralentir le traitement du cube ; c’est pourquoi les charges de travail OLAP très gourmandes en requêtes privilégient parfois un schéma en étoile.

Les assistants IA peuvent suggérer les dimensions à normaliser, générer des structures de tables à partir d'une description métier et recommander des index ou des chemins de jointure pour optimiser les performances. Ils peuvent également détecter les redondances et les incohérences de clés, mais un ingénieur de données doit examiner chaque recommandation avant son application.

Oui. ChatGPT et Copilote GitHub Il est possible de générer des instructions CREATE TABLE et des requêtes JOIN pour un schéma en flocon de neige à partir d'une simple invite de commande. Il est impératif de toujours vérifier les clés, les types de données et les relations générés avant leur mise en production.

Résumez cet article avec :