1
Les entrepôts de données
Lydie Soler Janvier 2008
U.F.R. d’informatique
Document diffusé sous licence Creative Commons by-nc-nd (http://creativecommons.org/licenses/by-nc-nd/2.0/fr/)
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
3
Le contexte
Besoin: prise de décisions stratégiques et tactiques
Pourquoi: besoin de réactivité
Qui: les décideurs (non informaticiens)
Comment: répondre aux demandes d’analyse des données, dégager des informations qualitatives nouvelles
Qui sont mes meilleurs
clients?
A combien s’élèvent mes
ventes journalières?
Quels français consomment beaucoup de
poisson?
Pourquoi et comment le
chiffre d’affaire a
baissé?
Les données utilisables par les décideurs
Données opérationnelles (de production)
Bases de données (Oracle, SQL Server)
Fichiers, …
Paye, gestion des RH, gestion des commandes…
Caractéristiques de ces données:
Distribuées: systèmes éparpillés
Hétérogènes: systèmes et structures de données différents
Détaillées: organisation des données selon les processus fonctionnels, données surabondantes pour l’analyse
Peu/pas adaptées à l’analyse : les requêtes lourdes peuvent
5
Problématique
Comment répondre aux demandes des décideurs?
En donnant un accès rapide et simple à l’information stratégique
En donnant du sens aux données
Mettre en place un système d’information dédié aux applications décisionnelles:
un data warehouse
Le processus de prise de décision
Temps de prise d’une décision Définir le
problème
Rassembler les données
Analyser les données
Établir des solutions
Décider Champs d’application des
systèmes décisionnels
7
Le processus de prise de décision
Bases de production
Data
warehouse
Base multi - dimensionnelle
Prédiction / simulation
Prise de décision
Domaines d’utilisation des DW
Banque
Risques d’un prêt, prime plus précise
Santé
Épidémiologie
Risque alimentaire
Commerce
Ciblage de clientèle
Déterminer des promotions
Logistique
Adéquation demande/production
Assurance
Risque lié à un contrat d’assurance (voiture)
9
Quelques métiers du décisionnel
Strategic Performance Management
Déterminer et contrôler les indicateurs clé de la performance de l’entreprise
Finance Intelligence
Planifier, analyser et diffuser l’information financière. Mesurer et gérer les risques
Human Capital Management (gestion de la relation avec les employés)
Aligner les stratégies RH, les processus et les technologies.
Customer Relationship Management (gestion de la relation client)
Améliorer la connaissance client, identifier et prévoir la rentabilité client, accroitre l’efficacité du marketing client
Supplier Relationship Management (gestion de la relation fournisseur)
Classifier et évaluer l’ensemble des fournisseurs. Planifier et piloter la stratégie Achat.
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
11
Définition d’un DW
W. H. Inmon (1996):
« Le data Warehouse est une collection de données orientées sujet, intégrées, non volatiles et historisées, organisées pour le support d’un processus d’aide à la décision »
Principe: mettre en place une base de données
utilisée à des fins d’analyse
Les 4 caractéristiques des data warehouse
1.
Données orientées sujet:
Regroupe les informations des différents métiers
Ne tiens pas compte de l’organisation fonctionnelle des données
Ass. Vie Ass. Auto Ass. Santé
Client Police
13
Les 4 caractéristiques des data warehouse
2.
Données intégrées:
Normalisation des données
Définition d’un référentiel unique
h,f 1,0
homme, femme
h,f
GBP
CHF USD
EUR
Les 4 caractéristiques des data warehouse
3.
Données non volatiles
Traçabilité des informations et des décisions prises
Copie des données de production
Ajout
Suppression
Accès Bases de production Entrepôts de données
15
Les 4 caractéristiques des data warehouse
4.
Données datées
Les données persistent dans le temps
Mise en place d’un référentiel temps
Nom Ville Dupont Paris Durand Lyon
Nom Ville
Dupont Marseille Durand Lyon
Image de la base en Mai 2005 Image de la base en Juillet 2006
Code Année Mois 1 2005 Mai
Base de production
Entrepôt de
données
Calendrier
Code Année Mois 1 Dupont Paris 1 Durand Lyon
Répertoire
Répertoire Répertoire
Code Année Mois 1 2005 Mai 2 2006 Juillet
Code Année Mois 1 Dupont Paris 1 Durand Lyon 2 Dupont Marseille
SGBD et DW
Service commercial
Service Financier
Service livraison
BD prod BD prod BD prod
Clientèle
Data Warehouse
Clientèle
H I S T O R I
OLTP: On-Line Transactional Processing
OLAP: On-Line Analitical
Processing
17
OLTP VS DW
OLTP DW
Orienté transaction Orienté analyse Orienté application Orienté sujet
Données courantes Données historisées Données détaillées Données agrégées Données évolutives Données statiques Utilisateurs nombreux,
administrateurs/opérationnels
Utilisateurs peu nombreux, manager
Temps d’exécution: court Temps d’exécution: long
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
19
Datamart
Sous-ensemble d’un entrepôt de données
Destiné à répondre aux besoins d’un secteur ou d’une fonction particulière de l’entreprise
Point de vue spécifique selon des critères métiers
Datamarts du
service Marketing
Datamart du
service Ressources Humaines
DW de l’entreprise
Intérêt des datamart
Nouvel environnement structuré et formaté en fonction des besoins d’un métier ou d’un usage particulier
Moins de données que DW
Plus facile à comprendre, à manipuler
Amélioration des temps de réponse
Utilisateurs plus ciblés: DM plus facile à définir
21
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
Architecture générale
Data warehouse
Requêtes Rapports Visualisation
Data Mining
… Sources de
données
Transformations:
Nettoyage Standardisation
…
Zone de préparation Zone de
présentation
Datamart C
H A R G E M E N T
Zone de stockage
E X T R A C T I O N
23
Les flux de données
Flux entrant
Extraction: multi-source, hétérogène
Transformation: filtrer, trier, homogénéiser, nettoyer
Chargement: insertion des données dans l’entrepôt
Flux sortant:
Mise à disposition des données pour les utilisateurs
finaux
Les différentes zones de l’architecture
Zone de préparation (Staging area)
Zone temporaire de stockage des données extraites
Réalisation des transformations avant l’insertion dans le DW:
Nettoyage
Normalisation…
Données souvent détruites après chargement dans le DW
Zone de stockage (DW, DM)
On y transfère les données nettoyées
Stockage permanent des données
Zone de présentation
Donne accès aux données contenues dans le DW
Peut contenir des outils d’analyse programmés:
25
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
Modélisation Entité/Association
Avantages:
Normalisation:
Éliminer les redondances
Préserver la cohérence des données
Optimisation des transactions
Réduction de l’espace de stockage
Inconvénients pour un utilisateur final:
Schéma très/trop complet:
Contient des tables/champs inutiles pour l’analyse
Pas d’interface graphique capable de rendre
27
Exemple
Mode
d’expédition Transporteur
Produit
Groupe de produits
Famille de produits
Division de ventes Région de ventes Magasin
Commande client
Type de contrat
Contrat
Client
Employé
Fonction
Stock
Fournisseurs
Modélisation des DW
Nouvelle méthode de conception autour des concepts métiers
Ne pas normaliser au maximum
Introduction de nouveaux types de table:
Table de faits
Table de dimensions
Introduction de nouveaux modèles:
Modèle en étoile
29
Table de faits
Table principale du modèle dimensionnel
Contient les données observables (les faits) sur le sujet étudié selon divers axes d’analyse (les dimensions)
Table de faits des ventes Clé date (CE)
Clé produit (CE) Clé magasin (CE) Quantité vendue Coût
Montant des ventes Clés étrangères
vers les
dimensions
Faits
Table de faits (suite)
Fait:
Ce que l’on souhaite mesurer
Quantités vendues, montant des ventes…
Contient les clés étrangères des axes d’analyse (dimension)
Date, produit, magasin
Trois types de faits:
Additif
Semi additif
31
Typologie des faits
Additif: additionnable suivant toutes les dimensions
Quantités vendues, chiffre d’affaire
Peut être le résultat d’un calcul:
Bénéfice = montant vente - coût
Semi additif: additionnable suivant certaines dimensions
Solde d’un compte bancaire:
Pas de sens d’additionner sur les dates car cela représente des instantanés d’un niveau
Σ sur les comptes: on connaît ce que nous possédons en banque
Non additif: fait non additionnable quelque soit la dimension
Prix unitaire: l’addition sur n’importe quelle dimension donne un nombre dépourvu de sens
Granularité de la table de faits
Répondre à la question :
Que représente un enregistrement de la table de faits?
La granularité définit le niveau de détails de la table de faits:
Exemple: une ligne de commande par produit, par client et par jour
Précision des analyses
- +
Finesse33
Table de dimension
Axe d’analyse selon lequel vont être étudiées les données observables (faits)
Contient le détail sur les faits
Dimension produit Clé produit (CP)
Code produit
Description du produit Famille du produits Marque
Emballage Poids
Clé de substitution
Attributs de la dimension
Table de dimension (suite)
Dimension = axe d’analyse
Client, produit, période de temps…
Contient souvent un grand nombre de colonnes
L’ensemble des informations descriptives des faits
Contient en général beaucoup moins
d’enregistrements qu’une table de faits
35
La dimension Temps
Commune à l’ensemble du DW
Reliée à toute table de faits
Dimension Temps Clé temps (CP)
Jour Mois
Trimestre Semestre Année
Num_jour_dans_année Num_semaine_ds_année
Granularité d’une dimension
Une dimension contient des membres organisés en hiérarchie :
Chacun des membres appartient à un niveau
hiérarchique (ou niveau de granularité) particulier
Granularité d’une dimension : nombre de niveaux hiérarchiques
Temps :
année – semestre – trimestre - mois
37
Évolution des dimensions
Dimensions à évolution lente
Dimensions à évolution rapide
Évolution des dimensions
Dimensions à évolution lente
Un client peut se marier, avoir des enfants…
Un produit peut changer de noms ou de formulation:
« Raider » en « Twix »
« yaourt à la vanille » en « yaourt saveur vanille »
Gestion de la situation, 3 solutions:
Écrasement de l’ancienne valeur
Versionnement
39
Dimensions à évolution lente (1/3)
Écrasement de l’ancienne valeur :
Correction des informations erronées
Avantage:
Facile à mettre en œuvre
Inconvénients:
Perte de la trace des valeurs antérieures des attributs
Perte de la cause de l’évolution dans les faits mesurés
Clé produit Description du produit Groupe de produits 12345 Intelli-Kids Logiciel
Jeux éducatifs
Dimensions à évolution lente (2/3)
Ajout d’un nouvel enregistrement:
Utilisation d’une clé de substitution
Avantages:
Permet de suivre l’évolution des attributs
Permet de segmenter la table de faits en fonction de l’historique
Inconvénient:
Accroit le volume de la table
Clé produit Description du produit Groupe de produits
41
Dimensions à évolution lente (3/3)
Ajout d’un nouvel attribut:
Valeur origine/valeur courante
Avantages:
Avoir deux visions simultanées des données :
Voir les données récentes avec l’ancien attribut
Voir les données anciennes avec le nouvel attribut
Voir les données comme si le changement n’avait pas eu lieu
Inconvénient:
Inadapté pour suivre plusieurs valeurs d’attributs intermédiaires
Clé produit Description du produit
Groupe de produits 12345 Intelli-Kids Logiciel
Nouveau groupe de produits
Jeux éducatifs
Évolution des dimensions
Dimensions à évolution lente
Dimensions à évolution rapide
Subit des changements très fréquents (tous les mois) dont on veut préserver l’historique
Solution: isoler les attributs qui changent
rapidement
43
Dimensions à évolution rapide
Changements fréquents des attributs dont on veut garder l’historique
Clients pour une compagnie d’assurance
Isoler les attributs qui évoluent vite
Dimensions à évolution rapide (suite)
Dim_démographique Clé_démog
Revenus
Niveau_étude Nb_enfants Dim client
Clé_client Nom
Prénom Adresse Date_nais
…
Revenus
Niveau_étude Nb_enfants Statut_marital
Dim client Clé_client Nom
Prénom Adresse
Date_naissance
… Faits
Clé_client
…
Faits
Clé_client Clé_démog
45
Les types de modèles
Modèle en étoile Modèle en flocon
Modèle en étoile
Une table de fait centrale et des dimensions
Les dimensions n’ont pas de liaison entre elles
Avantages:
Facilité de navigation
Nombre de jointures limité
Inconvénients:
Redondance dans les dimensions
Toutes les dimensions ne concernent pas les
47
Modèle en étoile
Dimension Temps ID temps
année mois
jour Dimension Magasin …
ID magasin description
ville surface
…
Dimension Region ID région
pays description district vente
….
Dimension produit ID produit
nom code
prix poids groupe
famille
…
Dimension Client ID client
nom prénom adresse
… Table de faits Achat
ID client ID temps ID magasin
ID région ID produit Quantité achetée Montant des achats
Modèle en flocon
Une table de fait et des dimensions décomposées en sous hiérarchies
On a un seul niveau hiérarchique dans une table de dimension
La table de dimension de niveau hiérarchique le plus bas est reliée à la table de fait. On dit qu’elle a la granularité la plus fine
Avantages:
Normalisation des dimensions
Économie d’espace disque
Inconvénients:
49
Modèle en flocon
Dimension Temps ID temps
annee mois
jour Dimension Magasin …
ID magasin description
ville surface
…
Dimension produit ID produit ID groupe
nom code
prix poids
…
Dimension Client ID client
nom prénom adresse
…
Dimension groupe ID groupe
ID famille nom
…
Dimension Famille ID famille
nom
…
Dimension Division vente ID division vente
description
….
Dimension Region ID région ID division vente
pays description
….
Table de faits Achat ID client
ID temps ID magasin
ID région ID produit Quantité achetée Montant des achats
Méthodologie: 9 étapes de Kimball
1. Choisir le sujet
2. Choisir la granularité des faits
3. Identifier et adapter les dimensions
4. Choisir les faits
5. Stocker les pré-calculs
6. Établir les tables de dimensions
7. Choisir la durée de la base
8. Suivre les dimensions lentement évolutives
9. Décider des requêtes prioritaires, des modes de requêtes
51
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
Alimentation/ mise à jour de l’entrepôt
Entrepôt mis à jour régulièrement
Besoin d’un outil permettant d’automatiser les chargements dans l’entrepôt
Utilisation d’outils ETL (Extract, Transform, Load)
53
Définition d’un ETL
Offre un environnement de développement
Offre des outils de gestion des opérations et de maintenance
Permet de découvrir, analyser et extraire les données à partir de sources hétérogènes
Permet de nettoyer et standardiser les données
Permet de charger les données dans un entrepôt
Extraction
Extraire des données des systèmes de production
Dialoguer avec différentes sources:
Base de données,
Fichiers,
Bases propriétaires
Utilise divers connecteurs :
ODBC,
SQL natif,
Fichiers plats
55
Transformation
Rendre cohérentes les données des différentes sources
Transformer, nettoyer, trier, unifier les données
Exemple: unifier le format des dates (MM/JJ/AA JJ/MM/AA)
Etape très importante, garantit la cohérence et la
fiabilité des données
Chargement
Insérer ou modifier les données dans l’entrepôt
Utilisation de connecteurs:
ODBC,
SQL natif,
Fichiers plats
57
Aperçu d’un ETL
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Accès à l’information
59
OLTP VS OLAP
Pays
France Espagne Allemagne pommes
poires
oranges
janvier
février
avril
Temps Produits
Vente de pommes en
Allemagne en avril
Achat
PK id_achat FK id_client
id_produit Quantité
client
PK id_client Nom adresse
Produit
PK id_produit Libellé Famille
ROLAP
Relational OLAP
Données stockées dans une base de données relationnelles
Un moteur OLAP permet de simuler le
comportement d’un SGBD multidimensionnel
Plus facile et moins cher à mettre en place
Moins performant lors des phases de calcul
Exemples de moteurs ROLAP:
61
MOLAP
Multi dimensional OLAP:
Utiliser un système multidimensionnel « pur » qui gère les structures multidimensionnelles natives (les cubes)
Accès direct aux données dans le cube
Plus difficile à mettre en place
Formats souvent propriétaires
Conçu exclusivement pour l’analyse multidimensionnelle
Exemples de moteurs MOLAP:
Microsoft Analysis Services
Hyperion
HOLAP
Hybride OLAP:
tables de faits et tables de dimensions stockées dans SGBD relationnel (données de base)
données agrégées stockées dans des cubes
Solution hybride entre MOLAP et ROLAP
Bon compromis au niveau coût et performance
63
Le cube
Modélisation multidimensionnelle des données
facilitant l’analyse d’une quantité selon différentes dimensions:
Temps
Localisation géographique
…
Les calculs sont réalisés lors du chargement ou
de la mise à jour du cube
Manipulation des données multidimensionnelles
Opération agissant sur la structure
Rotation (rotate): présenter une autre face du cube
05 06 07 Œuf 221 263 139 Viande 275 257 116
05 06 07 Idf 101 120 52 Ain 395 400 203
65
Manipulation des données multidimensionnelles
Opération agissant sur la structure
Tranchage (slicing): consiste à ne travailler que sur une
tranche du cube. Une des dimensions est alors réduite à une seule valeur
06 Œuf Idf 265
Ain 245 Viande Idf 152 Ain 174 05 06 07
Œuf Idf 220 265 284 Ain 225 245 240 Viande Idf 163 152 145 Ain 187 174 184
Manipulation des données multidimensionnelles
Opération agissant sur la structure
Extraction d’un bloc de données (dicing): ne travailler que sous un sous-cube
05 06 07 Œuf Idf 220 265 284
Ain 225 245 240 Viande Idf 163 152 145 Ain 187 174 184
05 06 07 Œuf Idf 220 265 284
Ain 225 245 240
67
Manipulation des données multidimensionnelles
Opération agissant sur la granularité
Forage vers le haut (roll-up): « dézoomer »
Obtenir un niveau de granularité supérieur
Utilisation de fonctions d’agrégation
Forage vers le bas (drill-down): « zoomer »
Obtenir un niveau de granularité inférieur
Données plus détaillées
05-07 Fruits 623 Viande 648
1S05 2S05 1S06 2S06 1S07 Fruits 100 121 111 152 139 Viande 134 141 120 137 116 05 06 07
Fruits 221 263 139 Viande 275 257 116
05 06 07 Pomme 20 19 22
… … … …
Boeuf 40 43 48 05 06 07 Alim. 496 520 255
Roll up
Drill down
Dimension Temps
Drill down Roll up
Drill-up, drill-down
69
MDX (Multidimensional Expressions)
Langage permettant de définir, d'utiliser et de récupérer des données à partir d'objets multidimensionnels
Permet d’effectuer les opérations décrites précédemment
Equivalent de SQL pour le monde OLAP
Origine: Microsoft
MDX, exemple
Fournir les effectifs d’une société pendant les années 2004 et 2005 croisés par le type de paiement
Dimensions, axes d’analyse
SELECT {([Time].[2004]), ([Time].[2005])} ON COLUMNS, {[Pay].[Pay Type].Members} ON ROWS
FROM RH
WHERE ([Measures].[Count])
Cube
2004 2005
71
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Le marché du décisionnel
Démonstration
Le marché du décisionnel
73
Quelques solutions commerciales
Quelques solutions open source
Intégré
Pentaho (Kettle, Mondrian, JFreeReport, Weka)
SpagoBI
ETL Entrepôt de données
OLAP Reporting Data Mining
Octopus
Kettle
CloverETL
Talend
MySql
Postgresql
Greenplum/Biz gres
Mondrian
Palo
Birt
Open Report
Jasper Report
JFreeReport
Weka
R-Project
Orange
Xelopes
75
Plan
Introduction
Les entrepôts de données
Les datamart
Architecture
Modélisation
Alimentation
Les bases de données multidimensionnelles
Accès à l’information
Démonstration
Exemples
Rapports
Sales by customer
Dashboard
Analyse
77