- Pourquoi avez-vous besoin d’une modélisation dimensionnelle des données et comment la mettre en œuvre ?
- Quels sont les objectifs de la modélisation des entrepôts de données ?
- Pourquoi la modélisation ?
- Ce que vous ne voudriez pas que vos analystes fassent :
- Ce que vous pourriez et devriez attendre de vos analystes :
- Transition des bases de données transactionnelles vers les faits
- Que sont les mesures et pourquoi devriez-vous remplir vos tables de faits avec elles ?
- Pourquoi avez-vous besoin de maintenir un grain cohérent ?
- Tables de faits instantanés périodiques
- Tables de faits d’instantanés cumulatifs
- Localiser les faits via les dimensions
- Dessiner des dimensions à partir de données de référence et de méta données brutes
- Hiérarchie dans les dimensions
- Modification lente des dimensions
- Intégrez vos Big Data dans votre système ETL
- Résumé
- Notes de bas de page
Pourquoi avez-vous besoin d’une modélisation dimensionnelle des données et comment la mettre en œuvre ?
La modélisation dimensionnelle (DM) fait partie de la méthodologie Business Dimensional Lifecycle développée par Ralph Kimball qui comprend un ensemble de méthodes, de techniques et de concepts à utiliser dans la conception des entrepôts de données. L’approche se concentre sur l’identification des processus métier clés au sein d’une entreprise et sur la modélisation et la mise en œuvre de ceux-ci en premier lieu avant d’ajouter des processus métier supplémentaires, une approche ascendante.
Quels sont les objectifs de la modélisation des entrepôts de données ?
Les objectifs, énoncés par Ross et Kimball, sont simples :
- rendre l’information facilement accessible
- présenter l’information de manière cohérente
- adaptable et réceptive au changement
- présenter l’information en temps opportun
- protéger les actifs d’information
- servir de base faisant autorité et digne de confiance pour améliorer la prise de décision (source unique de vérité dans le langage de l’ingénierie des données)
- les VIP doivent accepter votre système
.
Si vous avez travaillé sur ou utilisé un système ETL, vous auriez remarqué que la cohérence des informations est obtenue par des mesures conformes, la rapidité fournie par les cycles ETL et l’adaptabilité dépend aussi largement de la conception de l’ETL.
Pourquoi la modélisation ?
En tant qu’ingénieur de données, vous connaissez très bien le SQL et pouvez probablement écrire des requêtes SQL pour toute la journée. Mais vous ne pouvez pas supposer que l’utilisateur final typique sera un expert en écriture de requêtes SQL. Donc, notre objectif est de construire un DW si facile pour les analystes d’écrire des requêtes d’analyse rapidement et efficacement.
Ce que vous ne voudriez pas que vos analystes fassent :
- Requêtes basées sur l’ID
- Jointes externes en cascade(même vous ne voudriez pas faire cela)
- Sous-requêtes multiples groupées ou jointes
- sous-requêtes récursives(visitez simplement Hackerrank SQL et vous comprendriez la douleur)
- Corrélation de sous-requêtes : récupérer des données sur plusieurs colonnes dans différentes sous-requêtes
- Joints sans PK/FK : même pour moi(1.5 ans d’expérience DE), c’est difficile à visualiser.
Ce que vous pourriez et devriez attendre de vos analystes :
- des jointures simples
- des colonnes avec des noms et du texte complet
- des agrégations simples
- des fonctions analytiques fenêtrées
- DISTINCT
Notez que les points ci-dessus ne sont pas les plus faciles et que votre système devrait être suffisamment évolutif pour tous ces types de requêtes.
Les bases de données OLTP sont transformées en faits et dimensions en raison des objectifs susmentionnés.
Transition des bases de données transactionnelles vers les faits
La plupart des entreprises mesurent leur succès et leur efficacité en mesurant certains types de données. Ces données capturent les activités et les progrès réels de l’entreprise. Ces données sont appelées des faits.
Les bases de données orientées OLTP enregistrent les transactions à la fois, un peu comme le streaming d’événements mais centralisé autour des transactions. Le DW est différent. Le DW n’a pas besoin d’enregistrer les détails au niveau transactionnel. Le DW a besoin d’avoir des faits à travers différents critères de votre entreprise. Le DW doit agréger (ou laisser les analystes agréger) les informations requises pour améliorer l’activité. Et donc, la redondance est un péché impardonnable dans le DW.
Que sont les mesures et pourquoi devriez-vous remplir vos tables de faits avec elles ?
Dans un entrepôt de données, une mesure est une propriété sur laquelle des calculs peuvent être effectués.
Les faits que nous dérivons des magasins de données opérationnelles viennent avec certaines données supplémentaires qui sont généralement additionnées dans notre analyse. Ce sont les aspects d’un fait qui permettent à l’analyste, ou au cadre qui consulte l’analyse, de voir la valeur du fait.
Pourquoi avez-vous besoin de maintenir un grain cohérent ?
Pour que vous puissiez vous assurer que votre système peut légitimement corréler et agréger entre les faits.
Mais il n’est pas toujours possible d’avoir des données à des niveaux atomiques. Donc, pour combler cette lacune, il existe deux méthodes :
- Tables de faits instantanés périodiques
- Tables de faits instantanés accumulatifs
Tables de faits instantanés périodiques
Comme leur nom l’indique, elles sont collectées à intervalles de temps réguliers. La consommation de gaz, l’audit et les inspections sont quelques exemples de collecte de données pour lesquelles les instantanés périodiques sont activés.
Tables de faits d’instantanés cumulatifs
Lorsqu’un indicateur de performance d’entreprise est un taux d’achèvement d’un processus d’entreprise à plusieurs étapes, vous pouvez vouloir capturer au grain de l’intégralité du processus et enregistrer le début, l’achèvement et les étapes intermédiaires. Il peut s’agir d’une transaction, mais il y a beaucoup de mesures entre les deux. Ainsi, vous utilisez des tableaux de faits d’instantanés cumulés pour répondre à des questions complexes dans le domaine de la veille économique, où il y a du temps entre les faits. Un bon exemple serait une ligne de table de faits de votre commande d’un sandwich au poulet et la ligne de table de faits du sac remis par la fenêtre de la voiture au drive-thru de McDonald’s.
Localiser les faits via les dimensions
Vous et vos analystes devez savoir comment interroger et filtrer les faits pour en tirer de la business intelligence. Cet objectif est servi par les dimensions.
Dessiner des dimensions à partir de données de référence et de méta données brutes
Les dimensions sont presque toujours créées avec une clé de substitution ; la clé de substitution, naturellement, est référencée par la ou les clés étrangères dans la table des faits. Nous interrogeons la table en recherchant les dimensions qui nous intéressent. Toutes les autres données décrivant nos faits, comme les horodatages, les agents clients, l’emplacement du magasin, le produit et le client sont ce que nous transformons en dimensions.
La beauté de la modélisation dimensionnelle est que les faits ne sont pas définis par les clés primaires ou toute sorte d’identifiant unique, au lieu de cela, ils sont définis par la combinaison des dimensions. Cela donne lieu à Star Schema.
Il est très important que nous ayons une unicité dans nos dimensions. En effet, lors des requêtes sur les faits, les doublons entre les combinaisons de dimensions se transformeront en désastre. Si vous ne pouvez pas, alors ajouter ou agréger des dimensions pour les rendre uniques.
Hiérarchie dans les dimensions
Considérez les deux images suivantes.
Un analyste aura la vie facile si vous lui configurez la deuxième table de dimension.
Donc, avec la deuxième table, vous avez la hiérarchie suivante :