Vous êtes sur la page 1sur 47

Les entrepôts de données

Elisabeth Métais
L’entrepôt de données dans la ligne décisionnelle

Extracteur

Integrateur
Referentiel
Extracteur
Entrepôt de
données
Extracteur

Sources Décideurs
2
Définitions
Définition 1 (Goglin) : un entrepôt de données est un stockage
intermédiaire de données issues des applications de
production, dans lequel les utilisateurs finaux puisent avec des
outils de restitution et d’analyse.

Définition 2 (Bill Inmon) : Un entrepôt de données est une


collection de données thématiques, intégrées, non volatiles et
historisées organisées pour la prise de décision.

Inmon et Codd sont considérés comme les auteurs du concept


dans le début des années 90.

3
" Thèmatiques "

• Thématique = "Orienté sujet " .

• Orienté par thème et non plus par fonction.

• Exemples :
• Dans les bases de données opérationnelles : assurance
vie, assurance automobile, paye, facturation.

• Dans les bases de données décisionnelles : client,


produit, réseau de distribution, médicament, marché,
absences, réussite.

• Ce côté est renforcé dans les magasins.


4
" Intégrées "
• L’entrepôt n’est pas une concaténation des sources, les données
sont sémantiquement intégrées.
• Exemples :
• Reconnaître qu’il s’agit de la même personne malgré un
déménagement

• Reconnaître qu’il s’agit du même produit malgré des code


barres différents

• Remarque : très difficile, mais indispensable.


5
" non volatiles, historisées"
• Pas de suppressions.
• Nécessité d’un référentiel de temps.
• L’historisation permet
• l’extrapolation,
• la mesure de l’impact d’une décision par comparaison de
la situation avant et après la mise en application de cette
décision.
• Exemple :
• Suivi des évolutions des comportements des clients.

6
" agrégées "
• Niveau de granularité.
•Exemple :
• Stockage de tous les appels téléphoniques pour un client
APPEL_TELEPHONIQUE (n° client, horo-date, durée,
correspondant, étranger, etc...)
(300 clients, 200 tuples par client, 60000 tuples d’appels).
• Stockage agrégé par client sur 1 mois
APPEL_TELEPHONIQUE (n° client, mois, nombre
d’appel, durée moyenne, nombres d’appels vers
l’étranger)
(300 tuples d’appels). 7
" prise de décision"

• Les systèmes " opérationnels " (ou de " production ", ou


de " gestion " ) sont dédiés aux métiers de l’entreprise
pour les assister dans leurs tâches de gestion quotidiennes
(et directement opérationnels).
ERP
• Les systèmes " décisionnels " sont dédiés au management
de l’entreprise pour l’aider au pilotage de l’activité (et
indirectement opérationnels).
Ils offrent au décideur une vision transversale de
l’entreprise.
DW
8
Exemples
• Suivi du comportement de la clientèle dans les
télécommunications
• Nombre moyen d’heures par mois et par région,
• répartition des appels clients sur la semaine,
• Répartition des appels clients sur la journée,
• nombre moyen d’appels représentant 20% d’une facture,
• Durée moyenne d’une communication urbaine,
• Durée moyenne d’une communication intenationale.
• Suivi du marché (lignes installées, désinstallées, services
choisis, répartition géographique)
• Comportement du réseau (pannes) 9
Exemples

• Quel est le volume des ventes par produit, par région, pour le
3ième trimestre 2003 ?
• Quel est le volume des ventes de produits laitiers, pour la
région parisienne, par an, pour les 5 dernières années ?
• Quel est le type de produits dont les ventes baissent
constamment dans les 6 derniers mois de l’année en cours ?
• Est-ce qu’une baisse de 10% ferait redémarrer les ventes de
disques ?

10
Différences transactionnel / décisionnel
Transactionnel Décisionnel
Données - sur une période courte - historisées
- détaillées - agrégées
- personnelles - peuvent être anonymes
- mises à jour - recalculées
- temps de validité, de - temps de validité, de
transaction transaction, d’extraction
Traitements - requêtes simples - requêtes complexes
- répétitives - variées
- très sensible aux - échelle de performance
performances différente
11
Différences transactionnel / décisionnel
Transactionnel Décisionnel
Conception - orientée fonction - orientée sujet
- relativement statique - évolutif

Utilisateurs - agents opérationnels - manager


Nbres :
. utilisateurs - milliers - centaines
. tuples accédés - dizaines/centaines - millions

. base de données - centaines de MB/GB - centaines de GB/TB

12
Les sources

• En général les "legacy systems", c'est-à-dire principalement


les bases de données de production.
• exemples : factures, fichier des nouveaux clients.

• On extrait justement les données pour ne pas travailler


directement sur les sources.
- "Décisionnel et transactionnel ne font pas bon ménage ",
- perturbations,
- supports physiques différents,
- outils et utilisateurs différents. 13
Les sources

• Mais aussi des sources extérieures :


• météo,
• calendrier des jours fériés,
• cours de la bourse,
• Géographie (études épidémiologiques, accidents de la
route),
• études INSEE.

• Vieilles sources.
14
L'extraction des données

• a pour but d'extraire les données et de les mettre dans un


format commun.
• choisit d'extraire ce qui est nécessaire
• on n'importe pas la totalité des sources,
• satisfaire les "vues utilisateurs".
• applique une stratégie de rafraîchissement
• périodicité,
• ou déclenchement.
• peuplement initial.
15
L'extraction des données

3 principales techniques :
• Ecrire des interfaces entre les sources et l'entrepôt,
• Exploiter les fonctionnalités de réplication offertes par les
SGBD,
• loader, triggers, passerelles, copies, logs, vues, etc …
• Utiliser un outil ETL
• génère les programmes d'alimentation,
• peut gérer leur déroulement,
• intégration de données.
16
L'intégration des données

• Intégration des données dans l'entrepôt en résolvant les


conflits entre les différentes sources d'information
• codages, fautes d'orthographe, etc…
• tables de conversion, etc …

ETUDIANTS nom sexe adresse


Figue 1 Paris
Fraise 2 Toulouse

PROF nom sexe adresse


Figue M 4, av. Foch Paris
Fraise F 4, av. Foch Paris
17
Les meta-données
• Les méta-données regroupent l'ensemble des informations
concernant l'entrepôt et les processus associés.

Destinées

Aux utilisateurs Aux équipes et outils SGBD


responsables du
processus de
transformation des
données de production
vers l'entrepôt.

18
Les meta-données

2 principales utilités

Carte routière Pour les algorithmes + méta-


pour d'extraction, intégration, données
l'interrogation nettoyage, habituelles
rafraîchissement, (types,
Utilisateurs historisation, qualité. autorisations)
(localisation, règles de
transformation, flux) SGBD

Responsables des
processus (équipes, outils)
19
Les meta-données

• Elles sont stockées dans un référentiel :


• Interface de navigation,
• lien avec les autres systèmes.

• Besoin de standardisation :
• Metadata Council (95, groupe de vendeurs),
• OIM (96, « Open Information Model » de
microsoft)
• CWMI (98, « Common Warehouse Metadata
Exchange » OMG)
20
Les magasins

• sous-ensemble de l’entrepôt,
• temps d’accès réduits, volume réduit, coût réduit,
• orienté vers un sujet particulier,
• les données sont adaptées à une classe de décideurs ou à
un usage particulier (ex: fortement agrégées, DM)
généralement modélisé sous forme
multidimensionnelle,
• nécessité de définir ne stratégie d’extraction de
l’entrepôt,
• on peut avoir des sous-magasins.
21
Outils de restitution

• sur les magasins, ou directement sur l’entrepôt,


• requêtes SQL, SQL/OLAP
• tableurs,
• outils requêteurs spécialisés (outils de reporting),
• progiciels spécialisés,
• sortie web,
• logiciels de datamining,
• sortie système expert.

22
Variantes dans l’architecture

• architecture médiateur (entrepôt virtuel),


• architecture à plusieurs niveaux de stockage (ODS,
CDW, etc.),
• architecture à magasins matérialisés et entrepôt virtuel,
• Architecture mixte
• choix des vues à matérialiser,
• choix d’un ODS,
• choix des niveaux de data marts.

23
Le modèle multidimensionnel
• Souvent appelé modèle OLAP (On Line Analytical
Processing) (Codd, 1993).

• Présenté comme une alternative au modèle relationnel.


• Correspond mieux aux besoins du décideur.
• "Orienté sujet".

• " Cube" centré sur une activité.


• Exemple : vente.
24
Les faits
• Un cube relate un fait. L’activité est caractérisée par des faits
qui se produisent (événements).
• Exemples :
• fait de vente,
• fait de notation,
• fait de passage de transaction boursière,
• fait de consultation médicale,
• fait de dépense dans un hôpital,
• fait d’absence de cours,
• fait de marquage de but,
• fait de fréquentation d’un cinéma.
25
Les indicateurs
• Les faits sont quantifiés par des indicateurs, également appelés
"métriques", ou "mesures", ou "variables". Par exemple le fait
de vente se caractérise par la quantité vendue et le montant de
la vente.
• Ce sont les cellules du cube. Les indicateurs représentent une
quantité mesurable, un fait observé.
• Chaque indicateur a une fonction d’agrégat (on peut les
additionner, ou calculer le minimum, ou la moyenne).
• Ils sont généralement numériques et additifs :
Le montant des vente est additif (se somme sur toutes les
dimensions), le niveau du stock est semi-additif (se somme
sur les produits, mais pas sur le temps), la moyenne de
fréquentation est non additive. 26
Les indicateurs (suite)
• Exemples :
• CA par produit/agence/dans le temps,
• coût moyen d’une hospitalisation par pathologie,
• le nombre de visiteurs moyens dans un établissement,
• taux d’occupation des lits,
• nombre d’articles en stock,
• satisfaction,
• taux de remplissage des avions par vol,
• temps d’attente moyen au supermarché,
• nombre de connexions sur un site web,
• durée des communications sur un site web. 27
Les indicateurs (suite)

• Formule : On appelle "formule" une mesure non stockée,


obtenue à partir des mesures stockées.
• Exemples : prix moyen = total ventes / nombre vendu

• Remarque : il existe des faits sans mesures, les "dummy


measures"
• Exemple : location d'une voiture, consultation à hôpital,
réservation d'un livre.
• L'agrégation sera le comptage des faits.

28
Les dimensions

• Les "dimensions" sont les axes d'analyse.


• Exemples : produits, temps, région, promotion,
fournisseur, joueur, élève, hôpital.
• Chaque dimension est associée à une hiérarchie.
• Exemples :
• continent -> pays -> région -> ville -> magasin
• année -> trimestre -> mois -> jour
• catégorie-> sous-catégorie -> produit

29
Opérateurs multidimensionnels

• Roll-up, ou agrégation, ou consolidation, ou drill-up, ou scale-


up, ou forage vers le haut.
• Drill-down, ou désagrégation, ou segmentation, ou roll_down,
ou drill-trough, ou forage vers le bas.
• Slice, ou projection.
• Dice, ou selection, ou filtering, ou screening.
• Pivot, ou rotation.
• Switch, ou permutation.

30
Implémentation

• MOLAP : Stocké sous forme multidimensionnelle


propriétaire; avec stockage de toutes les agrégations.

• ROLAP : Stockage dans un SGBD relationnel (modèle en


étoile).

• HOLAP : Hybride.

31
Modèles utilisés

Référentiel
Magasin de
Entrepôt de données
données

Source Modèle Modèle de Modèle de


s d'intégratio diffusion présentatio
n n

32
Modèle de
diffusion
Magasins de données (data marts)
en constellation d’étoiles ROLAP

Lieux Age du patient

Sexe du patient
Indicateurs

Type de soins Nombre de patients
Etc.
Nombre de guérison
Coût
Etc ….
Date

Type de maladie
33
Patients Date infection
Sexe Jour Type du cathéter
Tranche d’age Mois Artère
Année Veineux
Site du cathéter Swan Ganz
Axillaire Etc.
Fémorale
Huméral
Etc. Coté du cathéter
Table de faits
Droit
Jour infection Effectif concerné Gauche
Jour 1 du séjour
Etc.
Résistance
Oui
Germes Non
staphylococcus aureus
staphylococcus epidermidis Acte sur cathéter
staphylococcus coagulase négatif Pose
enterococcus faecalis, faecium Changement
streptococcus, A group Changement sur site
Etc. Etc. 34
Modélisation en étoiles

Produit

clé_produit
description
Temps marque
Fait de Vente
catégorie
clé_temps sous_catégorie
heure clé_temps
clé_produit couleur
jour taille
semaine clé_magasin
mois
année montant_ventes
férié quantité_vendue Magasin
événement
clé_magasin
adresse
ville
département
secteur_vente
surface 35
Modélisation en flocons

Produit Sous_catégorie

clé_produit clé_sous_catégorie
description sous_catégorie
Temps marque catégorie
Fait de Vente clé_sous_catégorie
clé_temps couleur
heure clé_temps taille
jour clé_produit
semaine clé_magasin
mois
année montant_ventes Magasin
quantité_vendue Localisation
férié
événement clé_magasin clé_localisation
clé_localisation adresse
secteur_vente ville
surface département

Les tables de dimension sont normalisées 36


Modélisation en constellations

Produit

clé_produit
description
Temps marque
Fait de Vente clé_sous_catégorie
clé_temps couleur
heure clé_temps taille
jour clé_produit
semaine clé_magasin
mois
année montant_ventes Magasin
férié quantité_vendue
événement clé_magasin
clé_localisation
secteur_vente
surface

37
Les tables de dimensions sont partagées par plusieurs tables de faits
Différentes catégories de tables de faits

• Type "transaction"
• fait = activité de la transaction (ex: une vente)
• date = date de la transaction
• 1 ligne par événement

•Type "instantané périodique"


• fait = performance dans un intervalle prédéfini (ex: total
des entrées en fin de journée)
• date = date fin de période
•1 ligne par période 38
• Type "instantané récapitulatif"
• fait = performance dans un intervalle de temps
correspondant à une activité (ex: évaluation d'un cours,
séjour d'un patient)
• dates = date début, date fin
•1 ligne par activité

39
Modèle de présentation
Nbre de patients Infectieuse chronique etc.
femmes de
moins de 30 ans

Nord 300 200

PACA 50 150

Bretagne 45 120

Etc.
40
Nbre de patients Infectieuse chronique etc.
femmes de
moins de 30 ans

Lille 150 110


Caen 30 25
Nord Calais 43 40
Rouen 77 25
PACA 50 150

Bretagne 45 120

Etc.
41
Nbre de patients Infectieuse chronique etc.
femmes de
Pneumo. Grippe
moins de 30 ans

Lille 140 10 110


Caen 15 15 25
Nord Calais 23 20 40
Rouen 40 37 25
PACA 50 150

Bretagne 45 120

Etc.
42
Méthodologie de conception

• Méthodologie basée sur une matrice (préconisée par les

vendeurs d'outils MOLAP).

• Lister les faits et les mesures pertinents,

• Définir pour chaque mesure les dimensions dont elle

dépend,

• Donner les hiérarchies, Choisir le niveau d'agrégation.

43
Méthodologie de conception

• Méthodologie basée sur l'analyse des requêtes


• Attributs du group by : dimensions
• Attributs agrégés : mesures
• Attributs du "where" : attributs des tables de fait ou de
dimensions.
• Exemple :
Select vente.n°magasin, vente.n°produit, sum(vente.prix)
from vente, produit
Where produit.n°produit = vente.n°produit
and produit.description = "livre"
group by vente.n°magasin, vente.n°produit;
44
Méthodologie de conception

• Méthodologie basée sur un modèle conceptuel des données


(approche MAP Akoka, Prat, Comyn_Wattiau)
•Effectuer la modélisation en entité-association,
•Les associations (m-n) deviennent des tables de faits,
•Les entités participantes deviennent des tables de dimensions,
•Les propriétés des associations deviennent les variables
multidimensionnelles,
• deux entités reliées par une associations 1-n acquièrent un lien
de hiérarchie.
45
Gestion des changements dans les dimensions

• Exemples : le client change d'adresse, un vendeur change d'affectation.


• Remarque : distinguer les changements fréquents et les changements moins
fréquents (SCD).

• Solution 1: Vraie MAJ (écrasement de l'ancienne valeur)


-> Correction d'une erreur, ou historique de changement sans intérêt.

• Solution 2 : Stockage des différentes versions :


Clé-artificielle, version 1 ………, clé naturelle, dern.version (O/N), date-début, date-fin
Clé-artificielle, version 2 ………, clé naturelle, dern.version (O/N), date-début, date-fin

Clé-artificielle, version n ………, clé naturelle, dern.version (O/N), date-début, date-fin

46
• Solution 3 : Conservation des deux dernières valeurs
Clé-artificielle, …,valeur précédente d'un attribut, nouvelle valeur de cet attribut,
……

Solution 4 : Changements réguliers prévus


Clé-artificielle, … , valeur 2000, valeur 2001, valeur 2002, valeur 2003, …

Solution 5 : Mini dimensions


Une dimension client, une dimension profil_client

-> pour les changements fréquents

47