Evry - M2 MIAGE
Entrepôts de Données
Modélisation décisionnelle
Plan
• Construction de l’entrepôt :
– les faits et les dimensions
• Préparation de l’analyse :
– Les agrégats les rapports et les cubes
• Optimisation
• Exemple d’analyse
– Transport
Modélisation décisionnelle Faits et dimensions
• Une méthode de modélisation faits/dimensions part du processus métier analysé vers l’analyse :
1. Identification du processus métier analysé
2. Établissement du niveau de granularité de l’analyse
3. Établissement des dimensions qui s’appliquent à chaque ligne de fait 4. Identification des caractéristiques numériques qui s’appliquent à chaque
ligne de fait
• Cette méthode demande une vision complète et décrite du processus
métier et de son implémentation. Elle permet de construire le tableau qui croise les processus métier (et les différentes étapes des processus
métier) et les dimensions :
Processus\ Dimension Date Entrepôt Produit Magasin Promotion
Vente au détail X X X X
Stock entrepôt X X X
Commande X X X
Modélisation décisionnelle Faits et dimensions
• Deux type d’informations caractérisent les faits :
– Des mesures numériques propre à chaque instance de faits (quantité, prix, …)
– Des dimensions caractéristiques plus ou moins complexes (fournisseur, produit, …)
• Les mesures numériques propres à chaque fait sont l’objet de calculs d’analyse (montant global, moyenne globale, …) et les dimensions
constituent des facteurs de sélection des faits
étudiés (produits de telle ou telle marque, …).
Modélisation décisionnelle Faits et dimensions
• À partir de l’entrepôt de données intégrant l’ensemble des faits et dimensions constitutif des processus métier, une analyse doit être réalisée pour identifier les éléments nécessaires aux analystes (pour construire les datamarts, agrégats et autres cubes).
• Méthode d’identification du modèle décisionnel à partir de l’analyse cible :
– Que voulez vous analyser ? Faits
– Quels sont vos critères d'analyse ? Dimensions – Jusqu'à quel niveau de détail voulez vous aller ?
Mesures dans les faits
Attributs des dimensions
• La modélisation sera réalisée à l’aide d’un tableau par « fait » :
– Chaque colonne désigne une dimension
– Chaque éléments de chaque colonne désigne les caractéristiques des dimensions
– Dans la première colonne sont placées les caractéristiques intégrées à la table de faits (mesures, facteurs).
Dimension 1 Dimension 2 Dimension 3 …
Attribut1 Dim 1 Attribut 1 Dim 2 Attribut 1 Dim 3 … Attribut 2 Dim 1 Attribut 2 Dim 2 Attribut 2 Dim 3 …
… … … …
FaitX : Attribut1,
Modélisation décisionnelle Faits et dimensions
• Exemple :
– Le département en charge des approvisionnement des magasins souhaite faire une étude sur la fidélité des clients en période de vacances pour les produits à forte valeur ajoutée. Les analystes souhaiteraient en particulier identifier les déplacements de population d’une région vers une autre pour pouvoir mieux approvisionner les magasin des produits consommés par les clients pendant leurs vacances.
Date Client Magasin Produit Localisation du client
Localisation du magasin Date Id client Id magasin Désignation Code postal Code postal Libelle
mois
… Nom … Ville Ville
Libelle année
Taille Région Région
Pays Pays
Modélisation décisionnelle
Schéma en étoile
Modélisation décisionnelle les faits
• Quelques règles [conseils] sur les faits [Kimball]
– Une ligne [un enregistrement] dans une table de faits correspond à une mesure. Une mesure est une ligne [un enregistrement] dans une table de faits.
– Les caractéristiques les plus utiles d’une table de faits sont numériques et additives.
– Toutes les caractéristiques dans une table de faits doivent être de même granularité.
– Dans les modèles dimensionnels, les tables de faits
expriment des relations de plusieurs à plusieurs entre
les dimensions.
Modélisation décisionnelle
« ce qui est fait des faits… »
• Les calculs réalisés dans les EDD sont des calculs d’agrégation : pour un ensemble de faits partageant des caractéristiques communes, on va réaliser des opérations d’agrégation sur des caractéristiques numériques des faits (« ce qui est analysé »).
• Exemple de fonctions d’agrégations sur les caractéristiques numériques :
– Somme : par exemple, la quantité totale vendue, … – Min, max : plus petite / grande quantité
– Moyenne : quantité moyenne
– Numération : Nombre de ventes effectuées par catégorie de produit – Nombre de valeurs différentes : nombre de prix pour la vente d’un
produit – …
Modélisation décisionnelle caractéristiques des faits
• Exemple de tables de faits pour les ventes :
• Le positionnement de caractéristiques
numériques unitaires dans la table de fait est essentielle pour la performance des calcul
réalisés au cours des analyses : cela évite les jointures sur les éléments à la base du calcul réalisé.
• Les questions induites sont alors :
– Quelles mesures unitaires intégrer ?
– Quel niveau de normalisation doit-on appliquer ?
Modélisation décisionnelle caractéristiques des faits
• Mesures à intégrer :
– Toutes les mesures qui seront nécessaires aux analyses (agrégations) réalisées.
• Niveau de normalisation :
– La question se pose lorsque des mesures caractérisant un fait sont de nature fonctionnelle proche (différents types de quantités, de prix, …) sont présents dans la table de fait. Cette normalisation ne doit, généralement, pas être mise en œuvre car elle aura comme effet :
• La multiplication du nombre de fait,
• La réalisation de jointure lors des calculs
• Attention à bien distinguer l’usage d’une caractéristiques comme élément d’analyse (« ce qui est analysé ») par rapport à un usage comme critère de sélection d’une partie des faits (« critère d’analyse »), dans le premier cas, il s’agit d’une caractéristique numérique (non normalisée), et dans le
second d’une dimension.
Modélisation décisionnelle caractéristiques des faits
• Exemple de fait « complexes » : instantané récapitulatif du pipeline de traitement des commande.
• L’ensemble des « points de vue » sur la commande traitée seront présents par autant de quantités de type différents.
• Des facteurs faisant correspondre une unité de quantification d’un département à l’autre
permettent d’en gérer la diversité (par exemple : la distribution et livraison sont réalisés par casiers lorsque la production travaille de manière unitaire,
…). Le placement des facteurs de conversion dans la table de faits garanti leur utilisation correcte.
• La présentation des données aux différents types d’utilisateurs sera réalisée par la création d’autant de vues qui intègreront les quantités qui les
concernent dans leur unité de mesure (avec application du facteur).
Modélisation décisionnelle caractéristiques des faits
• La majeur partie des mesures sont additives sur toutes les
dimensions. Par exemple : montant d’une vente, quantité vendue, coûts du produit vendu,
• Certain types de mesures numérique représentent des valeurs qui ne peuvent être additionnées selon toutes les dimensions
d’analyse. Par exemple, niveau de stock est additif (agrégation via somme) sur une dimension « magasins » mais ne le sera pas sur la dimension temps. D’autres opérations d’agrégations restent
utilisables (moyenne, min, max, …).
• D’autres mesures ne sont additive sur aucune dimension. Par exemple : le prix unitaire du produit ou le ratio bénéfice brut / chiffre d’affaire (= marge brute).
Modélisation décisionnelle caractéristiques des faits
• Pour le cas de mesures non additives comme la marge brute
(calculée en divisant le bénéfice brut par le chiffre d’affaire) et dont mesures utilisées pour son calcul peuvent l’être pour un ensemble d’éléments (groupe de produits, de magasin, …), on va intégrer tous les composants utiles au calcul dans la base de faits et réaliser le calcul de la mesure dynamiquement par rapport à l’ensemble de faits considérés.
• De même pour les fonctions d’agrégation, les résultats de certaines sont additive (somme des valeurs), d’autres semi additives (min / max), d’autres non additives (nombre de faits)
On définira donc, pour chacune des caractéristique numérique (agrégée ou non) de la table de faits et pour chaque fonction d’agrégation, les dimensions sur lesquelles elles sont additives
Modélisation décisionnelle la granularité des faits
• Les faits de granularité différentes ne peuvent être
fusionnés même s’ils semblent s’appliquer à un même objet. Exemple typique : entête d’une commande (frais d’expédition, …) et lignes de la commande (produit,
quantité, …).
• Solution :
– Soit deux tables de faits sont construites : une pour les
faits de haut niveau (entête de commande) et une pour les faits de niveau plus fin (lignes de commande).
– Soit les faits de plus haut niveau (frais d’expéditions) sont répartis à un niveau plus détaillé (entre les lignes de la
commande) en suivant un facteur d’allocation (en fonction
du poids unitaire et de la quantité, …),
Modélisation décisionnelle la granularité des faits
• On distingue alors trois grandes familles de granularité :
– Granularité de transaction : mesure unitaire d’une action métier.
– Granularité de l’instantané périodique : mesure des actions métier dans un intervalle fixe (semaine, mois, …).
– Granularité de l’instantané récapitulatif : mesure des actions métier sur une période non prédéterminée (instantané des productions…)
• Les faits transactionnels constituent la base de l’entrepôt de données d’entreprise.
• Les faits périodiques et récapitulatifs sont généralement utilisés dans les datamarts. Ils seront construits par
l’agrégation des faits transactionnels (constitution
d’agrégas).
Modélisation décisionnelle la granularité des faits
• Pour reprendre l’exemple des ventes :
– Les faits transactionnels identifient chacun des tickets de caisse,
– Les faits d’instantanés périodiques identifient les ventes journalières, hebdomadaires, mensuelles,
…
– Les faits d’instantanés récapitulatifs identifient les ventes sur un mois glissant, depuis le début du
mois, …
Modélisation décisionnelle la granularité des faits
Caractéristique Transaction Instantané périodique Instantané récapitulatif Période dans le temps
représenté
Point dans le temps Intervalles réguliers prévisibles
Durée indéterminée généralement courte
Grain Une ligne par
événement
Une ligne par période Une ligne pour la vie de l’entité
Chargement des tables de faits
Insertion Insertion Insertion et mise à jours Mise à jours des lignes
de faits
Pas de mise à jour Pas de mise à jour Mise à jour pour chaque activité
Dimension date Date de la transaction
Date de la fin de la période
Dates multiples pour des étapes standard
Faits Activité de la
transaction
Performance dans un intervalle prédéfini
Performance sur une durée de vie limitée
Modélisation décisionnelle ce qui est fait des dimensions
• Les dimensions sont les « critères d’analyse »
permettant de fixer le champs sémantique des faits analysés.
– Les clients, les produits, les dates, les adresses de livraisons, les adresses de clients, …
• Dans une démarche d’urbanisation, les dimensions les plus « utiles » sont issues des données « de référence » [cf MDM] (ou transverses à l’entreprise ou conformes [Kimball]) car les caractéristiques en sont partagées au niveau sémantique et syntaxique par toute l’entreprise.
Ces dimensions auront la même signification pour
toutes les tables de faits qui y font référence…
Modélisation décisionnelle Construire les dimensions
• Attribut des dimensions : il est important de considérer la fonction des attributs des dimensions. Ils vont être utiliser par les utilisateurs comme critère de sélection des faits. Ainsi, il est préférable de
placer des attributs supplémentaires aux dimensions pour en faciliter l’usage. La liste des attributs sera donc construite en fonction du contexte du processus métier et des analyses.
– Exemple typique : la dimension date se verra compléter d’attributs qualifiant la date : jour férié, numéro de jour dans la semaine, dans le mois, dans l’année, numéro de semaine dans le mois, dans l’année, trimestre calendrier, …
Il est important de noter qu’il est infiniment plus simple de n’afficher qu’une partie des caractéristiques d’une dimension à l’utilisateur par rapport au travail demandé pour en rajouter une à postériori dans l’entrepôt de données.
Modélisation décisionnelle Construire les dimensions
• Dimensions dégénérées en ligne de fait : Dans certain cas de figure, les dimensions peuvent se réduire à un numéro unique (numéro de commande, de lettre, de facture, …).
• Dimension qui ne s’applique pas à tous les faits : certain cas de dimension (promotion par exemple) ne sont pas
intrinsèquement liés aux faits. Il est alors nécessaire
d’ajouter une ligne « élément null » dans la dimension pour éviter des clés étrangères nulle dans la table de faits. Pour la table de promotion, on ajoutera ainsi un fait « pas de promotion ».
• Dimension jeu de rôle : la dimension date peut jouer
différents rôles pour, par exemple, un fait qui traite les
clients d’hôtels : date d’arrivée, date de départ, date de
réservation, … On dit alors qu’elle joue plusieurs rôle. Elle
n’est créée qu’une fois et la clé entre la table de faits et la
dimension en précise le rôle.
Modélisation décisionnelle Construire les dimensions
• Grand nombre de dimension : Lorsque la modélisation fait apparaître un grand nombre de dimensions (> 15), un
travail de rationalisation (regroupement) des dimensions doit être réalisé pour en réduire le nombre quitte à réaliser des dimensions avec beaucoup d’attributs.
• Une solution à ce problème peut être la mise en place de dimension fourre-tout (junk dimension) qui intégrera les séries d’indicateurs à faible cardinalité ou de drapeaux (valeurs oui/non) comme autant d’attributs.
ID dimension indicateurs de commande
Type de règlement Groupe type de règlement
Indicateur commande UE / hors UE
Indicateur de commission
Indicateur type de commande
1 Cash Cash Union Europ. Commissionnable Normal
2 Cash Cash Union Europ. Hors Commission Présentation
3 Cash Cash Union Europ. Hors Commission Normal
4 Cash Cash Hors UE Commissionnable Présentation
Modélisation décisionnelle
Dimension à évolution lente (SCD)
• Les valeurs des enregistrement des dimensions peuvent être amenés à évoluer. Par exemple, un produit va changer de nom, de rayon, de numéro de version (par ex. logiciels)… Trois méthodes sont possible pour gérer ces évolutions :
1. Écrasement de la valeur par la nouvelle
– Solution la plus simple : ni la table de faits ni la table de dimension ne change dans leur structure ou leur organisation.
– Désavantage : il y a perte de l’historique.
2. Ajout d’une ligne de dimension pour y intégrer la modification (même si elle ne concerne qu’une sous partie des attributs).
– La nouvelle ligne aura un nouvel ID unique et il est donc important de prévoir une clé primaire différente de la clé primaire naturelle,
– Elle permet de segmenter la table de faits en fonction de l’historique.
3. Ajout d’une colonne de dimension
– Permet d’associer l’ancienne valeur de l’attribut directement avec la nouvelle
• Dans le cas de caractéristique de dimension à évolution rapide, il est préférable de les isoler dans une dimension spécifique (ex. dimension client).
Modélisation décisionnelle
Dimension à évolution lente (SCD)
• Exemple de traitement d’une dimension à évolution lente : le rayon de vente d’un produite High Tech
Valeur d’origine Ecrasement Ajout ligne
Ajout
Clé produit Description Rayon EAN
12345 IntelliKids Éducation 2311225588112
Clé produit Description Rayon EAN
12345 IntelliKids Stratégie 2311225588112
Clé produit Description Rayon EAN
12345 IntelliKids Éducation 2311225588112 29030 IntelliKids Stratégie 2311225588112 Clé produit Description Rayon Rayon antérieur EAN
Modélisation décisionnelle Normalisation des dimensions
• La question de la conservation d’une forme dénormalisée vs une forme normalisée se pose. Deux écoles coexistent :
– Les pro normalisation :
• Économie d’espace : les informations sont stockées une seule fois dans les dimensions,
• Facilité de mise à jours en cas de changement de valeur.
– Les anti normalisation :
• L’économie d’espace est très relative comparée à la table de faits,
• Complexification de la navigation dans les dimensions : la simplicité est un des principaux objectifs du modèle décisionnel, l’ajout de tables de dimension complexifie (dans notre exemple, passage de 5 à 9 dimensions).
• L’optimisation SGBD est moins performante (index bitmap), parcours de hiérarchie, …
• Conclusion de Kimball (très anti mais une référence) :
Les tables de dimension doivent rester des tables physiques plates…
• Les outils de restitution (la suite microsoft par exemple) savent restituer une hiérarchie fonctionnelle issue de tables physiques plates.
Modélisation décisionnelle Dimensions hiérarchiques
• Les moteurs de bases de données (transactionnel comme décisionnel) traitent mal les structures
hiérarchiques.
• Par exemple : comment représenter la hiérarchie
suivante :
Modélisation décisionnelle Dimensions hiérarchiques
• La représentation « naturelle » sera sous la forme de tables
« récursive » :
• Ce qui rend complexe
l’intégration dans une dimension et, même dans une modélisation transactionnelle, rend le code
SQL permettant d’identifier la position hiérarchique et les
« ancêtres » complexe.
ID Famille ID Père Description
1 0 Nourriture
2 1 Produits frais 3 1 Produits sec
4 2 Légumes
5 2 Poissons
6 2 Viande
7 3 Conserves
8 3 Pâtes
9 4 Tomates
10 4 Salades
11 5 Truites
12 6 Bœuf
13 6 Mouton
14 7 Sauces
15 8 Spagetti
Modélisation décisionnelle Dimensions hiérarchiques
• Une solution est l’utilisation d’attributs pour la position hiérarchique (speed table)
ID Racine ID Famille ID Sous Famille ID Catégorie Description
1 0 0 0 Nourriture
1 2 0 0 Produits frais
1 3 0 0 Produits sec
1 2 4 0 Légumes
1 2 5 0 Poissons
1 2 6 0 Viande
1 3 7 0 Conserves
1 3 8 0 Pâtes
1 2 4 9 Tomates
1 2 4 10 Salades
1 2 5 11 Truites
1 2 6 12 Bœuf
1 2 6 13 Mouton
Modélisation décisionnelle Dimensions hiérarchiques
• Tables passerelles : elles indiquent la distance à la racine (position dans la
hiérarchie) et le fait d’être une feuille ou une racine.
• Par exemple, la table passerelle pour la partie droite (produits sec) de la structure exemple.
• L’usage conseillé est de construire une vue table de faits + table de hiérarchie à clé unique (profondeur à la racine fixé, …)
évitant les valeurs multiples et donnant une flexibilité sans multiplier les dimensions jeu de rôle.
Clé parent Clé famille
Niveau depuis parent
Drapeau inf Drapeau sup
1 1 0 N O
1 3 1 N N
1 7 2 N N
1 8 2 N N
1 14 3 O N
1 15 3 O N
3 3 0 N N
3 7 1 N N
3 8 1 N N
3 14 2 O N
3 15 2 O N
7 7 0 N N
7 14 1 O N
14 14 0 O N
8 8 0 N N
8 15 1 O N
15 15 0 O N
Modélisation décisionnelle Dimensions hiérarchiques
• Chaque méthode à ses avantages :
– Speed table : plus simple à maintenir et à intégrer aux dimensions,
– Table passerelle : plus simple à utiliser (tous les éléments de niveau 2,
• Et ses inconvénients :
– Speed table : très complexe d’ajouter un niveau de profondeur dans la hiérarchie,
– Table passerelle : la jointure entre la table de faits et la dimension passe par la table passerelle. Il faut faire
attention à ne pas compter plusieurs fois le même fait.
• Pour les deux : attention aux modifications de structure
hiérarchique…
Modélisation décisionnelle Schéma normalisé : en flocon
• Les dimensions Date et Localisation ne sont pas normalisées car des attributs sont fortement
redondants : libelle mois, libelle année, région, pays, …
• Leur normalisation permet la construction d’un schéma
en flocon :
Plan
• Construction de l’entrepôt :
– les faits et les dimensions
• Préparation de l’analyse :
– Les agrégats, les rapports et les cubes
• Optimisation
• Exemple d’analyse
– Transport
Modélisation décisionnelle
Les agrégats, les rapports et les cubes
• Une fois l’entrepôt de données, les faits, les
dimensions, voir les agrégats construits, on passe à l’outillage de la navigation dans les données.
• Solutions :
– Publication d’un rapport visualisant le résultat de recherches/analyses régulières sur l’entrepôt,
– Construction d’analyse spécifique visant à chercher une partie de faits (ou des opérations de sommes sur les faits) sans idées à priori des dimensions
parcourues.
– Construction de tables d’agrégats
– Construction de cubes
Modélisation décisionnelle Les agrégats
• L’agrégation est le moyen de passer d’une granularité fine à une granularité plus importante.
• Par exemple, la table des faits des tickets de caisses contient l’ensemble des tickets. Si les analyses sont uniquement basées sur une période journalière (voir hebdomadaire ou mensuelle), chaque interrogation de l’entrepôt va demander de recalculer les mêmes
sommes. Des tables de faits agrégés (tables d’agrégats)
vont alors être construites sur le niveau requis pour les
analyses.
Modélisation décisionnelle Les agrégats
• Avantage : gain significatif du temps de calcul des analyses
• Inconvénient : l’espace nécessaire au stockage de l’entrepôt croit de manière importante (même si les tables d’agrégats sont, pas nature, de taille moindre aux tables de faits initiales).
• Usage : généralement utilisé pour passer de l’entrepôt de données d’entreprise vers les
datamarts conçu de manière précise pour des
champs d’analyse.
Modélisation décisionnelle Les agrégats
• La gestion de la granularité dans la modélisation décisionnelle suit alors le schéma suivant
– Analyse du processus métier
• Faits de type Transaction de granularité la plus fine
– Construction des faits orientés analyse
• Agrégation stable pour des périodicité (pas que temporelles) fixes : création d’instantanés périodiques
• Agrégation dynamique pour des périodicités (pas que temporelles) de taille variables : création d’instantanés récapitulatifs
• Mise en place des calculs d’agrégats en mode batch en parallèle du processus d’alimentation des données.
Les méthodes utilisées pour l’agrégation des faits sont liées au niveau d’additivité des mesures présentes dans les faits
transactionnels.
Modélisation décisionnelle Les rapports
• La différence entre un rapport d’analyse et la navigation dans un cube et que le rapport est statique et présente une vue unique sur les données. La construction de rapports reviendra alors à :
– Identifier les informations métier nécessaires à une activité de
pilotage : nombre de produit vendu par XXX sur la période YYY dans la région ZZZ,
– Les données de l’entrepôt à la source des informations et les calculs composant le rapport : Fait X, Dimension Y, agrégation, fonction sur les données, …
– La forme la plus appropriée pour la lecture des informations : table de valeur, élément graphique (camembert, …),
• Le risque le plus courant est la réalisation d’un nombre trop important de rapports par rapport au besoin métier.
– Le point d’attention réside dans l’identification du besoin de
navigation dans le cube par un nombre réduit d’utilisateur par rapport à la consultation d’un nombre d’information limité pour le pilotage courant de l’activité métier.
Modélisation décisionnelle Les cubes
• Les cubes sont un moyens de naviguer dans les données de l’entrepôt afin d’en découvrir des propriétés sous différents points de vues. Par exemple, nous voulons pouvoir analyser les
ventes d’un produit ou d’une gamme de produits selon une période données dans toutes les
régions puis, pour affiner notre analyse, souhaiter voir quelles sont les ventes pour une région
particulière mais sur une période de temps
différente, … Ce type de navigation est facilité via
l’utilisation de cube.
Modélisation décisionnelle Les cubes
• Voici un exemple d’entrepôt :
Modélisation décisionnelle Les cubes
• Chaque ligne du cube correspond à un produit, chaque colonne à une région et chaque profondeur à une année.
• Chaque point du cube correspond à un fait correspondant aux différentes
données des dimensions (vente de Modems en Asie en 2000).
• Si on prend la tranche (slice) Asie, on obtient toutes les ventes des différents produits en Asie de 2000 à 2003.
• La tranche 2000 permet d’avoir la table des données correspondant aux ventes des différents produits dans le monde.
• La tranche Modems permet d’avoir la table des données de ventes des
Modems dans le monde de 2000 à 2003.
Modélisation décisionnelle Les cubes
• One peut également choisir une ligne ou une sous partie du cube.
• Ces opérations (de
sélection d’une partie des données du cube), s’appelle Drill Down lorsqu’on réduit la
partie des données du cube sélectionnées et Drill Up lorsqu’on
l’élargie.
Modélisation décisionnelle Les cubes
• Il est également possible de varier le grain d’agrégation des données dans les cubes.
• Cette opération de concentration (agrégation) est appelée
Roll-Up. L’inverse sera Roll-Down…
Modélisation décisionnelle Les cubes
• Enfin, il est également possible de changer
l’orientation du cube (et de changer les points
de vue) en le faisant pivoter :
Modélisation décisionnelle Les cubes
• La construction d’un cube d’analyse reviendra à
sélectionner un ensemble de mesures d’un fait (ou un
ensemble de mesures d’une agrégation issues d’un fait) et les dimensions qui seront parcourues. Exemple :
– Pour la mesure quantité du fait Vente,
– Les niveaux hebdomadaire, mensuels et annuels de la dimension date,
– L’ensemble des caractéristiques de la dimension produit, – L’ensemble des caractéristiques des clients.
• Il pourra alors être généré au sein du système d’entrepôt de données, les différents croisements possibles entre les
mesures et dimensions choisies (éléments du cube)
permettant de réaliser les différentes rotations et
agrégations (drill-up et down).
Plan
• Construction de l’entrepôt :
– les faits et les dimensions
• Préparation de l’analyse :
– Les agrégats les rapports et les cubes
• Optimisation
• Exemple d’entrepôt
– Transport (inspiré de [Kimball2002])
Optimisation
• L’optimisation d’un dataware est très lié au type d’usage :
– L’utilisation des cubes entraîne la génération de requêtes dynamiques pour lesquelles des indexes doivent être préalablement posés
– Les rapports étant constituées de requêtes
particulières, leur optimisation consiste dans
l’optimisation de leur plan d’exécution
Indexation d’un DW
• Les SGBD fournissent différents types d’indexes :
– Indexes basées sur Btree :
• Cluster : les enregistrements sont ordonnés selon l’index, les feuilles de l’arbre B sont les pages de données. La taille de l’index peut être estimée à 5% du stockage de l’intégralité des clés d’indexes (dans l’arbre) + un identificateur unique (interne, ajouté par le
système) pour chaque enregistrement (les feuilles de l’arbre ne sont pas stockées dans l’index).
• Non cluster : les enregistrements ne sont pas ordonnés selon l’index : les feuilles de l’arbre sont stockées dans l’indexe et contiennent les valeurs de clés ainsi que les
numéros d’enregistrements (ou de blocs en Oracle). La taille de l’index généré dépendra du nombre de valeurs
– Indexes de type bitmap :
• Utilisables pour des valeurs 0/1. Stockage très efficace (1 bit par enregistrement) et convient aux sollicitations de type décisionnelle. L’éclatement de liste de valeur (classe d’un billet) en drapeau est même conseillé par certain concepteur de DW afin de
permettre l’utilisation de ce type d’indexe.
– Les autres types d’indexes comme Hashcode ou basés sur une fonction
utilisateur ne sont pas présents dans tous les SGBD mais doivent, si présents, être utilisés si appropriés.
Indexation d’un DW
• Tables de faits :
– Les indexes de type B cluster seront utilisés pour les clés primaires de la table de faits.
• Attention toutefois aux effets de bords sur l’ajout de données qui peut donner lieu à une restructuration de la table si des valeurs viennent s’intégrer entre des valeurs existantes et modifier la structure cluster de la table,
– Les indexes de type B non cluster pour les clés étrangères vers les dimensions très sollicités (date, ..),
• La table de faits sera partitionnée selon la dimension d’analyse la plus sollicité (souvent la date),
• Tables de dimensions
– Index cluster pour la clé primaire,
– Indexes de type bitmap ou B pour les valeurs des dimensions très sollicitées
• Les indexes de type bitmap sont particulièrement appropriés aux problématiques DW : accès unique, stockage optimisé. Il peut ainsi être intéressant de construire des
ensembles d’attributs drapeau (valués 0/1) à la place d’un attribut avec liste de valeur pour en permettre une indexation de type bitmap.
– Une indexation plus systématique que la table de faits est possible du fait de la taille moindre de ces tables par rapport à la table de faits.
Optimisation, points d’attention
• Les optimisations sont fortement liées au SGBD sous jacent et à l’architecture de déploiement choisie. La source principales des problèmes réside dans le mode de parallélisation des traitements :
– Pour SQL Serveur, des verrous sur les tables partitionnées au niveau de la table ou des partitions peuvent empêcher la construction de lots de données appropriés. Il est également à noter que la parrallèlisation des traitements a été amélioré entre 2005 et 2008.
– Pour Oracle, la répartition de requêtes DW sur plusieurs nœuds d’un RAC n’est pas conseillée dans le cas de jointure sur les résultats car cela entraîne une très forte communication d’inter-connect.
• Il est également important de bien comprendre le mode de fonctionnement des SGBD et des actualisations qui sont nécessaires à leur bon fonctionnement
(statistiques, ré-indexation, gestion des segments, …). Opérations qui peuvent, dans le cas de tables de grande taille, devenir très lourdes pour les systèmes opérationnels.
Plan
• Construction de l’entrepôt :
– les faits et les dimensions
• Préparation de l’analyse :
– Les agrégats les rapports et les cubes
• Optimisation
• Exemple d’entrepôt
– Transport (inspiré de [Kimball2002])
Sujet de l’entrepôt
• Le service marketing d’une compagnie aérienne veut analyser les vols de chaque participant de son programme passagers réguliers. Il s’intéresse aux vols que prennent les passagers, aux avions qu’ils utilisent, aux tarifs de base qu’ils paient, à la fréquence à laquelle ils passent à une classe supérieure, à la façon dont ils obtiennent et font usage de leur bonus kilométrique de passagers réguliers, il veut savoir s’ils réagissent sur certains vols, connaître la durée de leur séjours, ainsi que la promotion de ceux qui sont dans la catégorie première classe, affaire et économique.
• Le processus d’entreprise mis en jeu par cette étude est l’activité de vol proprement dite. Nous ne nous intéressons pas à la réservation ni à l’émission de billets qui ne concerne pas un passager régulier.
Identification des faits
• La problématique principale dans l’établissement des faits provient de la granularité de la notion de « voyage » :
– Trajet par un avion entre deux aéroports,
– Trajet d’un voyage assuré par un même avion mais avec une escale (qui sera alors un segment et qui correspond à une ligne sur un billet d’avion),
– Trajet d’un aéroport de départ à un aéroport d’arrivée avec
changement d’avion (qui sera alors un vol et qui correspond à la demande du client),
– Voyage complet comprenant le vol aller et le vol retour.
• L’équipe d’analyse décide de se baser sur le niveau segment qui est le plus fin ayant un sens pour le service marketing.
• Si une extension de l’entrepôt à un usage par l’équipe de
programmation des vols, l’ensemble des trajets devront alors être intégrés.
Identification des dimensions
• Les dimensions d’analyse du segment sont
– Caractéristiques du segment
– Les aéroports de départ et d’arrivée,
– Les dates et heures de départ prévu, d’arrivée
prévu, de départ réel, d’arrivée réelle du segment, – Les caractéristiques des passagers réguliers
– Les caractéristiques du vol (avion, classe, …),
– Les caractéristiques du tarif appliqué.
Caractéristique du segment
• Ces caractéristiques (i.e. les critères d’analyse) sont pour le segment (mesures dans la table de faits) :
– Non additif :
• Numéro de voyage (Identifiant unique du voyage, correspondant à une dimension dégradée),
• Numéro de billet (DD),
• Numéro d’ordre du segment (DD),
– Additifs :
• Chiffre d’affaire brut du segment,
• Distance du segment en KM,
• Miles gagnés au niveau du segment,
• Durée du vol du segment,
• Nombre de minutes de retard au départ,
• Nombre de minutes de retard à l’arrivée,
• Nombre total de minutes de retard
Caractéristique des aéroports
• Les caractéristiques retenues lors de l’analyse sont :
– Nom,
– Trigramme, – Région,
– Ville,
– Code postal, – Pays,
– Fuseau horaire,
– Nombre de terminaux, – Capacité maximum, – Salon prémium,
– …
Caractéristiques des dimensions date/heure
• Granularité de la date/heure :
– Si on construit une seule dimension qui regroupe la date et l’heure, il y aura une explosion du
nombre de lignes dans la dimension pour un
degré de finesse de la granularité au niveau des minutes (voir des secondes). Dans ce type de
configuration, il est préférable de construire une
dimension date et une dimension heure.
Caractéristiques des dimensions date
• Caractéristiques générales des dates :
– Date,
– Jour de la semaine,
– Numéro de jour année calendaire, – Numéro de jour mois calendaire, – Numéro de jour année comptable, – Numéro de jour mois comptable, – Indicateur de dernier jour de semaine, – Indicateur de dernier jour de mois,
– Numéro de semaine calendaire dans l’année, – Numéro de mois calendaire dans l’année, – Année-mois calendrier (AAAA-MM)
– Trimestre calendaire, – Semestre calendaire, – Année calendaire, – Trimestre comptable, – Semestre comptable, – Année comptable, – …
• Que l’on peut compléter avec des informations spécifiques par pays :
– Nom du pays,
– Drapeau jour férié civil, – Nom jour férié civil,
– Drapeau jour férié religieux, – Nom jour férié religieux, – Indicateur jour de travail, – Nom de saison
Caractéristiques des passagers
• Les caractéristiques retenues sont :
– Nom, – Prénom,
– Date de naissance, – Statu marital,
– Nombre d’enfants, – Ville client,
– Région client
– Code postal client, – Date inscription, – Drapeau voyages
professionnels,
– Drapeau voyages touristiques,
• L’analyse des caractéristiques fait apparaitre des données de catégorisation qui peuvent
changer en cours d’année, elles apparaîtront donc
comme une dimension à part entière dans le modèle cible.
– Nom de la catégorie,
– Nombre de KM parcourus minimum,
– Nombre de KM parcourus maximum,
– Réduction tarifaire
Caractéristiques du vol
• Les caractéristiques retenues lors de l’analyse sont :
– Avion utilisé,
– Classe du siège (économique, première, business,
…),
– Drapeau place hublot
Caractéristiques du tarif
• Le tarif indique l’ensemble des éléments relatifs au calcul du prix du segment :
– Promotion liée au média de vente
– Promotion liée à une opération spécifique – Réduction promotionnelle appliquée
– Réduction achat à l’avance, – Pénalité de résiliation,
– Pénalité de modification,
Récapitulatif des dimensions
Segment Aéroport
départ
Aéroport arrivée
Date départ prévue
Date arrivée prévue
Date départ réelle
Date arrivée réelle
Passager Type Passager Vol Tarif
Nom Date Nom Nom catégorie Avion Promotion média
Trigramme Jour de la semaine Prénom Nb KM min Classe Promotion spécifique
Région Numéro de … année calendaire, Date
naissance
Nb KM max Drapeau hublot
Réduction appliquée
Ville Numéro de … année comptable, Statu marital Réduction
tarifaire
Réduction achat à l’avance
Code postal Indicateur de dernier jour de … Enfants Pénalité résiliation
Pays Numéro de … calendaire dans l’année Ville Pénalité modification
Fuseau horaire … calendaire Région Utilisation milles
Nombre de terminaux … comptable Code postal Nombre de milles
utilisé
Capacité maximum Pays.Nom du pays Date
inscription Salon prémium Pays.Drapeau jour férié civil Professionnel
Pays.Nom jour férié civil Tourisme Pays….
Numéro de voyage Numéro de billet
Numéro d’ordre du segment Chiffre d’affaire brut du segment Distance du segment en KM Miles gagnés au niveau du segment
Préparation des rapports
• Quels sont les rapports attendus :
– « Il s’intéresse aux vols que prennent les passagers, aux avions qu’ils utilisent, […], à la fréquence à
laquelle ils passent à une classe supérieure »
– Le périmètre étant très large, il faut distinguer le besoin de rapport du besoin de navigation dans un cube :
• Un rapport mensuel sur le nombre de milles et le chiffre d’affaire cumulé par catégorie de passagers et par mois,
• Un rapport quotidien sur le nombre de milles et le chiffre d’affaire cumulé par catégorie de passagers et par jour du mois en cours.
D. Ploix - M2 MIAGE - Conception EDD 63
Préparation des cubes
– Pour réaliser les navigations d’analyses décrites dans l’énoncé, le cube prendra l’ensemble des mesures du fait.
– L’ensemble des dimensions analysées seront parcourues. Les caractéristiques utiles seront :
• Date : mois, années calendaires et comptables
• Vol : classe, avion
• Aéroport : région, ville, code postal, pays
• Passager : région, ville, code postal, pays,
• Type de passager : nom catégorie
• Tarif : promotion média et spécifique