Connaître le schéma majeur : étoile contre flocon de neige



La conception d’un schéma multidimensionnel est une étape clé dans la création de modèles pour les systèmes d’entrepôts de données.

Ces schémas ont pour but principal de répondre aux exigences des grandes bases de données, spécialement conçues pour des analyses (OLAP).

Cette approche permet d’organiser les données de manière structurée au sein de la base de données, facilitant ainsi l’accès et l’interrogation pour les utilisateurs qui souhaitent comprendre les tendances du marché ou de l’entreprise.

De plus, un schéma multidimensionnel représente les informations sous forme de cubes de données, ce qui offre une visualisation et une modélisation des données sous différents angles et dimensions.

Il existe trois types de schémas multidimensionnels, parmi lesquels les schémas en étoile et en flocon de neige sont souvent confondus, rendant le choix du modèle le plus approprié parfois difficile.

Si vous êtes confronté à ce dilemme, nous allons explorer en détail les différences entre le schéma en étoile et le schéma en flocon de neige, en analysant leurs définitions, leurs avantages, leurs inconvénients, leurs diagrammes et leurs caractéristiques distinctives.

Qu’est-ce qu’un Schéma Multidimensionnel ?

Un schéma, dans le contexte des bases de données, désigne la description logique d’une base de données ou d’un entrepôt de données. Il comprend le nom des éléments, leurs descriptions, ainsi que les agrégats et les éléments de données associés.

Alors qu’une base de données relationnelle utilise généralement un modèle relationnel pour décrire ses données, un système d’entrepôt de données emploie un modèle de schéma.

Le schéma multidimensionnel peut être défini à l’aide du langage DMQL (Data Mining Query Language).

Pour structurer les magasins de données et les entrepôts de données, il utilise deux éléments fondamentaux : la définition de dimension et la définition de cube.

Le schéma multidimensionnel utilise divers types de modèles de schéma, parmi lesquels on distingue :

  • Le schéma en étoile
  • Le schéma en flocon de neige
  • Le schéma en galaxie

Examinons de plus près les schémas en étoile et en flocon de neige.

Schéma en étoile vs. Schéma en flocon de neige : Définitions

Qu’est-ce qu’un Schéma en Étoile ?

Un schéma en étoile est un modèle architectural utilisé pour le stockage de données et l’intelligence d’affaires. Il est caractérisé par une table de faits unique qui stocke les données mesurables et transactionnelles, ainsi que plusieurs tables de dimensions plus petites qui contiennent les attributs associés aux données de l’entreprise.

Son nom provient de sa structure : la table de faits se trouve au centre du diagramme, tandis que les tables de dimensions sont disposées autour, comme les branches d’une étoile.

Chaque schéma en étoile est constitué d’une seule table de faits, mais de plusieurs tables de dimensions. Les tables de faits contiennent des données spécifiques et mesurables, telles que les performances enregistrées, les informations financières ou les enregistrements de ventes. Ces données peuvent être transactionnelles ou représenter un instantané de l’historique.

Le schéma en étoile est le plus simple et le plus fondamental des schémas utilisés dans les entrepôts et les magasins de données. Il est efficace pour traiter les requêtes de base et est généralement utilisé dans le cadre de l’informatique décisionnelle, des requêtes ad hoc, des applications analytiques et du traitement analytique en ligne.

Le schéma en étoile permet également d’effectuer des opérations telles que le comptage, le calcul de la moyenne, la somme et d’autres agrégations sur de nombreux enregistrements. Les utilisateurs peuvent facilement filtrer et regrouper ces agrégations en fonction des dimensions. Par exemple, un utilisateur peut poser une question comme « afficher tous les enregistrements de vente du mois de juin » ou « analyser le chiffre d’affaires total du bureau XYZ en 2022 ».

Qu’est-ce qu’un Schéma en Flocon de Neige ?

Le schéma en flocon de neige est un modèle de données multidimensionnel considéré comme une extension du schéma en étoile. En effet, les tables de dimensions du schéma en flocon de neige sont subdivisées en sous-dimensions.

Un schéma est dit en flocon de neige si au moins une des tables de dimension n’est pas directement reliée à la table de faits, mais plutôt via d’autres tables de dimensions.

Le « snowflaking » est un processus qui consiste à normaliser les tables de dimensions d’un schéma en étoile. Lorsque toutes les tables de dimensions sont normalisées, la structure obtenue ressemble à un flocon de neige, avec la table de faits au centre.

En d’autres termes, le schéma en flocon de neige comprend une table de faits située au cœur du modèle, reliée à des tables de dimensions, qui sont elles-mêmes connectées à d’autres tables de dimensions. Ce schéma est employé pour optimiser les performances des requêtes.

Ce modèle est conçu pour des requêtes rapides et flexibles sur des relations et des dimensions complexes. Il est particulièrement adapté aux relations un-à-plusieurs et plusieurs-à-plusieurs entre les différents niveaux de dimensions.

Une plus grande conformité aux normes de normalisation permet une utilisation plus efficace de l’espace de stockage. Toutefois, la redondance des données est négligeable, et les performances peuvent être inférieures par rapport à des modèles de données dénormalisés tels que le schéma en étoile.

Schéma en Étoile vs. Schéma en Flocon de Neige : Comment ça marche ?

Fonctionnement d’un Schéma en Étoile

La table de faits, située au centre du schéma en étoile, stocke deux types d’informations : les valeurs d’attribut numériques et dimensionnelles. Pour comprendre, prenons l’exemple d’une base de données de ventes :

  • Les valeurs numériques sont uniques pour chaque ligne et chaque point de données. Elles ne correspondent ni ne sont liées aux données stockées dans une autre ligne. Il s’agit de faits relatifs à une transaction donnée, comme le montant total, la quantité commandée, l’heure exacte, le bénéfice net, l’identifiant de la commande, etc.
  • Les valeurs d’attribut dimensionnelles ne stockent pas directement les données, mais plutôt des clés étrangères qui renvoient à des lignes spécifiques dans les tables de dimensions. Différentes lignes de la table centrale font référence à ces informations, telles que la valeur des données, l’identifiant du vendeur, l’identifiant de la succursale, l’identifiant du produit, etc.

Les tables de dimensions contiennent toujours les informations qui soutiennent la table de faits. Chaque table de dimensions est reliée à une colonne d’une table de faits à l’aide d’une valeur dimensionnelle et stocke des informations supplémentaires relatives à cette valeur.

Par exemple, la table de dimension « Employé » utilise l’identifiant de l’employé comme clé et contient également des informations telles que le nom, le sexe, l’adresse et le numéro de téléphone. De même, une table de dimension « Produit » contient des informations telles que le nom du produit, sa couleur, sa date de lancement, son coût de fabrication, etc.

Fonctionnement d’un Schéma en Flocon de Neige

Imaginez un flocon de neige avec un centre et des connexions qui partent de ce centre vers différents points. La conception du schéma en flocon de neige est utilisée pour gérer les magasins et les entrepôts de données.

Il ressemble au schéma en étoile, mais avec de subtiles différences. Contrairement au schéma en étoile, le schéma en flocon de neige étend ses tables de sous-dimensions, qui sont reliées aux tables de dimensions.

L’objectif principal de ce modèle est de normaliser les informations dénormalisées du modèle en étoile, ce qui permet de résoudre certains problèmes communs associés au schéma en étoile.

Au cœur du schéma, on trouve une table de faits qui est connectée aux informations contenues dans les tables de dimensions. Ces tables se ramifient à nouveau vers l’extérieur, vers des tables de sous-dimensions qui contiennent des informations plus détaillées concernant les informations des tables de dimensions.

Par exemple, un schéma en flocon de neige pourrait contenir une table de faits « Vente », ainsi que des tables de dimensions « Magasin », « Ligne », « Famille », « Produit » et « Temps ». La dimension « Marché » est constituée de deux tables de dimensions, la table principale étant « Magasin » et la table de sous-dimension étant « Localisation du Magasin ». La dimension « Produit » est composée de trois tables de sous-dimensions qui précisent les informations sur le produit, sa ligne et sa famille.

Schéma en Étoile vs. Schéma en Flocon de Neige : Caractéristiques

Caractéristiques du Schéma en Étoile

  • Le schéma en étoile permet de filtrer les données normalisées pour répondre aux besoins de l’entreposage de données. Une clé unique est générée à partir des informations associées à chaque table de faits pour identifier chaque ligne.
  • Il permet d’effectuer des calculs et des agrégations rapides, tels que les revenus mensuels ou le nombre total d’articles vendus à la fin de chaque mois. Ces détails peuvent être filtrés en fonction des besoins en construisant des requêtes appropriées.
  • La mesure des événements comprend des valeurs numériques finies, liées à des clés étrangères. Ces clés sont liées aux tables de dimensions. Il existe différents types de tables de faits contenant des valeurs au niveau atomique.
  • La table de faits de transaction contient des données relatives à des événements spécifiques, tels que les soldes ou les jours fériés.
  • Les faits enregistrés incluent des informations relatives à des périodes données, telles que les informations de compte en fin d’année ou à chaque trimestre.
  • La table de dimensions fournit des informations détaillées sur les attributs ou les enregistrements trouvés dans la table centrale.
  • L’utilisateur peut concevoir lui-même une table en fonction de ses besoins.
  • Vous pouvez utiliser un schéma en étoile pour accumuler des tables d’instantanés.

Caractéristiques du Schéma en Flocon de Neige

  • Le schéma en flocon de neige nécessite peu d’espace disque.
  • Ce modèle est facile à mettre en œuvre grâce à la séparation des tables de dimensions principales et secondaires.
  • Les tables de dimensions contiennent au moins deux attributs pour définir des informations à plusieurs niveaux de granularité.
  • En raison du nombre important de tables, les performances sont moindres par rapport au schéma en étoile.
  • Le schéma en flocon de neige offre un niveau d’intégrité des données plus élevé et une redondance moindre grâce à la normalisation.

Schéma en Étoile vs. Schéma en Flocon de Neige : Avantages

Avantages du Schéma en Étoile

  • Le schéma en étoile est le plus simple des schémas utilisés dans les datamarts.
  • Il offre une logique de rapport simple, qui est appliquée de manière dynamique.
  • Il est conçu à l’aide de cubes d’alimentation, appliqués via un processus transactionnel en ligne afin d’optimiser l’efficacité des cubes.
  • Le schéma en étoile est construit avec une logique simple et des requêtes faciles à extraire du processus transactionnel.
  • Il permet d’améliorer les performances des applications de reporting.
  • Il est déployé pour un accès rapide aux données.
  • Les informations filtrées et sélectionnées peuvent être facilement appliquées dans différents cas.

Avantages du Schéma en Flocon de Neige

  • Le schéma en flocon de neige contribue à améliorer les performances des requêtes grâce à une réduction des besoins en espace disque.
  • Il offre une plus grande évolutivité des relations entre les composants et les niveaux de dimensions.
  • Il est plus facile à maintenir.
  • Il offre une récupération rapide des données.
  • C’est un schéma de données courant et simple pour l’entreposage de données.
  • Il contribue à améliorer la qualité des données.
  • Les données structurées réduisent les problèmes d’intégrité des données.

Schéma en Étoile vs. Schéma en Flocon de Neige : Inconvénients

Inconvénients du Schéma en Étoile

Le schéma en étoile est un modèle dénormalisé qui présente un risque d’intégrité des données. L’ensemble du processus risque d’être compromis si les données ne sont pas mises à jour correctement. La sécurité et les protections sont également limitées. De plus, le schéma en étoile n’est pas aussi flexible que les modèles analytiques et ne prend pas en charge efficacement les relations complexes.

Inconvénients du Schéma en Flocon de Neige

Le principal inconvénient du schéma en flocon de neige est l’augmentation des efforts de maintenance due au nombre croissant de petites tables de dimensions. De plus, les requêtes complexes peuvent rendre difficile la recherche des données nécessaires. Le temps d’implémentation est également plus long en raison du plus grand nombre de tables. Ce modèle est rigide et nécessite des coûts de maintenance plus élevés.

Schéma en Étoile vs. Schéma en Flocon de Neige : Différences

Les schémas en étoile et en flocon de neige sont deux types de schémas multidimensionnels, mais ils se distinguent par leurs structures et leurs propriétés. Le premier est similaire à une étoile, tandis que le second ressemble à un flocon de neige, d’où leurs noms.

Dans un schéma en étoile, une seule jointure établit une relation entre la table de faits centrale et les tables de dimensions secondaires. À l’inverse, un schéma en flocon de neige nécessite plusieurs jointures pour établir un lien avec les tables de dimensions.

Le schéma en étoile est généralement utilisé lorsque les tables de dimensions comportent peu de lignes, tandis que le schéma en flocon de neige est plus adapté aux tables de dimensions de grande taille.

Le tableau ci-dessous met en évidence les différences entre les deux modèles, ainsi que la manière dont les tables de dimensions et la table de faits sont reliées dans les différents schémas.

ParamètresSchéma en ÉtoileSchéma en Flocon de Neige
Espace disqueLe schéma en étoile nécessite plus d’espace disque.Le schéma en flocon de neige nécessite moins d’espace disque.
Redondance des donnéesLa redondance des données est élevée.Les données sont entièrement normalisées.
Performance des requêtesL’exécution des requêtes est rapide, ce qui améliore les performances.L’exécution des requêtes est plus lente qu’avec le schéma en étoile, ce qui réduit les performances.
Complexité de la requêteLa complexité des requêtes est faible.La complexité des requêtes est plus élevée que pour le schéma en étoile.
MaintenanceEn raison de la redondance des données, la maintenance du schéma en étoile est plus difficile.En raison de la faible redondance des données, la maintenance et la modification du schéma en flocon de neige sont plus simples.
Intégrité des donnéesLes copies existent dans les tables de dimensions, et l’intégrité des données est faible.Les tables de dimensions sont entièrement normalisées, ce qui améliore l’intégrité des données.
HiérarchiesLes hiérarchies des tables de dimensions sont stockées directement dans la table de dimensions.Les hiérarchies sont divisées en plusieurs tables de dimensions distinctes. La table de faits est entourée de tables de dimensions qui sont elles-mêmes entourées de tables de sous-dimensions.
ConfigurationLa conception et la configuration du schéma en étoile sont faciles, en raison de l’existence de relations directes.La configuration du schéma en flocon de neige est plus complexe.
Traitement des cubesLe traitement des cubes est rapide.En raison des jointures complexes, le traitement des cubes est plus lent.
Clés étrangèresLe nombre de clés étrangères est faible.Le nombre de clés étrangères est élevé.

Conclusion

Les schémas en étoile et en flocon de neige sont utilisés dans différents contextes. Le choix du modèle le plus adapté dépend des besoins spécifiques.

Le schéma en flocon de neige est une extension du schéma en étoile, dans lequel les tables de dimensions sont normalisées.

Le schéma en étoile est simple, permet d’exécuter des requêtes rapidement et sa configuration est facile. Le schéma en flocon de neige est plus facile à maintenir, nécessite moins d’espace disque et présente moins de risques de problèmes d’intégrité des données.

Un schéma en étoile est souvent le meilleur choix si vous avez besoin d’une conception simple, de peu de clés étrangères et d’un traitement des cubes rapide. En revanche, si vous avez besoin de moins d’espace disque, d’une intégrité des données élevée et d’une maintenance simple, le schéma en flocon de neige peut être plus approprié.

Il est également conseillé d’explorer d’autres solutions de bases de données orientées graphes.