• Aucun résultat trouvé

Evry - M2 MIAGE Entrepôts de Données

N/A
N/A
Protected

Academic year: 2022

Partager "Evry - M2 MIAGE Entrepôts de Données"

Copied!
65
0
0

Texte intégral

(1)

Evry - M2 MIAGE

Entrepôts de Données

Modélisation décisionnelle

(2)

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

(3)

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

(4)

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, …).

(5)

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,

(6)

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

(7)

Modélisation décisionnelle

Schéma en étoile

(8)

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.

(9)

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

(10)

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 ?

(11)

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.

(12)

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).

(13)

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).

(14)

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

(15)

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é, …),

(16)

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).

(17)

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, …

(18)

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

(19)

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…

(20)

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.

(21)

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.

(22)

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

(23)

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).

(24)

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

(25)

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.

(26)

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 :

(27)

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

(28)

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

(29)

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

(30)

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…

(31)

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 :

(32)

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

(33)

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

(34)

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.

(35)

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.

(36)

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.

(37)

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.

(38)

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.

(39)

Modélisation décisionnelle Les cubes

• Voici un exemple d’entrepôt :

(40)

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.

(41)

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.

(42)

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…

(43)

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 :

(44)

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).

(45)

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])

(46)

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

(47)

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.

(48)

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.

(49)
(50)

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.

(51)

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])

(52)

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.

(53)

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.

(54)

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é.

(55)

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

(56)

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,

– …

(57)

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.

(58)

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

(59)

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

(60)

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

(61)

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,

(62)

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

(63)

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

(64)

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

(65)

Exercice

Caractéristiques numériques

• Le sujet portera sur la téléphonie mobile.

– Le service marketing de FreeMobile souhaite étudier l’évolution de l’utilisation des différents types

d’abonnements par les consommateurs en fonction du temps et de la localisation géographique.

• Sujet :

– Identifiez différentes caractéristiques numériques – Proposez deux niveaux de granularité pour chaque

caractéristiques

– Indiquez l’additivité de chaque caractéristique

Références

Documents relatifs

Clarifions à présent les choses: il existe un couple de termes tels que si un pays n'est pas en guerre, alors il est en paix, et inversement. Il existe en outre un autre concept

Cette absence de valeur de retour sera indiquée, dans le prototype et la définition de la fonction, par un type de retour particulier, le type void. Dans ce cas, le mot réservé return

Dans le cas de la granularité la plus fine, la table de faits est jointe aux dimensions sans groupements.. ● Additivité

Bousculé, apostrophé, harcelé, l'auditeur ne sait plus si le bulletin météorologique qui annonce la neige a trait à la journée d'hier ou à celle de demain ; et il se retrouve en

Pour repérer la thèse défendue, il convient tout d'abord de trouver le thème du texte.. On peut ensuite chercher le jugement ou le sentiment du locuteur à propos de

Jusqu’à une date récente je n’ai pas explicitement pris de responsabilité collective à Nice, me contentant d’aider au mieux mon épouse Francine qui, elle,

Lors de ma reconversion qui m’a fait quitter mes activités de recherche traditionnelles en asymptotique des équations différentielles (et en systèmes dynamiques) pour me consacrer

- Créer une barre de menus qui s'affiche en haut de la fenêtre, et dans laquelle chaque menu pourra faire apparaître une liste d'options. - Faire apparaître à un moment donné ce