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/) 1
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 2
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? Pourquoi et comment le chiffre d affaire a baissé? Quels français consomment beaucoup de poisson? A combien s élèvent mes ventes journalières? 3
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 bloquer le système transactionnel Volatiles: pas d historisation systématique 4
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 5
Le processus de prise de décision Champs d application des systèmes décisionnels Définir le problème Rassembler les données Analyser les données Établir des solutions Décider Temps de prise d une décision 6
Le processus de prise de décision Prise de décision Bases de production Data warehouse Base multi - dimensionnelle Prédiction / simulation 7
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) 8
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. 9
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 10
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 11
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 12
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 h,f homme, femme GBP CHF EUR USD 13
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 Bases de production Entrepôts de données Ajout Suppression Accès Modification Chargement 14
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 Base de production Image de la base en Mai 2005 Image de la base en Juillet 2006 Répertoire Nom Dupont Durand Ville Paris Lyon Répertoire Nom Dupont Durand Ville Marseille Lyon Entrepôt de données Calendrier Code Année Mois 1 2005 Mai 2 2006 Juillet Répertoire Code Année Mois 1 Dupont Paris 1 Durand Lyon 2 Dupont Marseille 15
SGBD et DW OLTP: On-Line Transactional Processing Service commercial Service Financier Service livraison BD prod BD prod BD prod Clientèle OLAP: On-Line Analitical Processing Data Warehouse Clientèle H I S T O R I Q U E 16
OLTP VS DW OLTP Orienté transaction Orienté application Données courantes Données détaillées Données évolutives Utilisateurs nombreux, administrateurs/opérationnels Temps d exécution: court DW Orienté analyse Orienté sujet Données historisées Données agrégées Données statiques Utilisateurs peu nombreux, manager Temps d exécution: long 17
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 18
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 DW de l entreprise Datamart du service Ressources Humaines 19
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 20
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 21
Architecture générale Zone de préparation Zone de stockage Zone de présentation E X T R A C T I O N Sources de données Transformations: Nettoyage Standardisation C H A R G E M E N T Data warehouse Datamart Requêtes Rapports Visualisation Data Mining 22
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 23
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: Rapports Requêtes 24
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 25
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 utilisable le modèle E/A Inadapté pour l analyse 26
Exemple Transporteur Mode d expédition Contrat Type de contrat Client Commande client Magasin Produit Groupe de produits Employé Stock Région de ventes Famille de produits Fonction Fournisseurs Division de ventes 27
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 Modèle en flocon 28
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) Clés étrangères vers les dimensions Faits Table de faits des ventes Clé date (CE) Clé produit (CE) Clé magasin (CE) Quantité vendue Coût Montant des ventes 29
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 Non additif 30
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 31
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 + Finesse Taille de l entrepôt 32
Table de dimension Axe d analyse selon lequel vont être étudiées les données observables (faits) Contient le détail sur les faits Clé de substitution Attributs de la dimension Dimension produit Clé produit (CP) Code produit Description du produit Famille du produits Marque Emballage Poids 33
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 34
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 35
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 36
Évolution des dimensions Dimensions à évolution lente Dimensions à évolution rapide 37
É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 Valeur d origine / valeur courante Dimensions à évolution rapide 38
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 39
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 12345 Intelli-Kids Logiciel 25963 Intelli-Kids Jeux éducatifs 40
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 41
É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 42
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 43
Dimensions à évolution rapide (suite) Dim client Dim client Clé_client Nom Prénom Adresse Date_nais Faits Clé_client Clé_client Nom Prénom Adresse Date_naissance Faits Clé_client Clé_démog Dim_démographique Revenus Clé_démog Niveau_étude Revenus Nb_enfants Niveau_étude Statut_marital Nb_enfants Profil_financier Statut_marital Profil_achat Profil_financier Profil_achat 44
Les types de modèles Modèle en étoile Modèle en flocon 45
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 mesures 46
Modèle en étoile Dimension Magasin ID magasin description ville surface Dimension Region ID région pays description district vente. Dimension Temps ID temps année mois jour Table de faits Achat ID client ID temps ID magasin ID région ID produit Quantité achetée Montant des achats Dimension produit ID produit nom code prix poids groupe famille Dimension Client ID client nom prénom adresse 47
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: Modèle plus complexe (jointure) Requêtes moins performantes 48
Modèle en flocon Dimension Magasin ID magasin description ville surface Dimension Temps ID temps annee mois jour Dimension Region ID région ID division vente pays description. Dimension Division vente ID division vente description. Table de faits Achat ID client ID temps ID magasin ID région ID produit Quantité achetée Montant des achats 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 49
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 50
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 51
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) 52
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 53
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 54
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 55
Chargement Insérer ou modifier les données dans l entrepôt Utilisation de connecteurs: ODBC, SQL natif, Fichiers plats 56
Aperçu d un ETL 57
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 58
OLTP VS OLAP Produit PK id_produit Libellé oranges poires pommes Produits Pays Espagne Allemagne Famille Achat France PK id_achat FK id_client client PK id_client Nom id_produit Quantité janvier février avril Temps Vente de pommes en Allemagne en avril adresse 59
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: Mondrian 60
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 61
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 62
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 63
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 64
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 05 06 07 Œuf Idf 220 265 284 Ain 225 245 240 Viande Idf 163 152 145 Ain 187 174 184 06 Œuf Idf 265 Ain 245 Viande Idf 152 Ain 174 65
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 66
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 67
Drill-up, drill-down Roll up Roll up 05 06 07 Alim. 496 520 255 Dimension Temps 05-07 Fruits 623 Viande 648 05 06 07 Fruits 221 263 139 Viande 275 257 116 1S05 2S05 1S06 2S06 1S07 Fruits 100 121 111 152 139 Viande 134 141 120 137 116 05 06 07 Pomme 20 19 22 Boeuf 40 43 48 Dimension Produit Drill down Drill down 68
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 69
MDX, exemple Fournir les effectifs d une société pendant les années 2004 et 2005 croisés par le type de paiement SELECT {([Time].[2004]), ([Time].[2005])} ON COLUMNS, {[Pay].[Pay Type].Members} ON ROWS FROM RH Cube WHERE ([Measures].[Count]) Dimensions, axes d analyse 2004 2005 Heure 3396 4015 Jour 3678 2056 70
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 71
Le marché du décisionnel 72
Quelques solutions commerciales 73
Quelques solutions open source ETL Entrepôt de données OLAP Reporting Data Mining Octopus MySql Mondrian Birt Weka Kettle Postgresql Palo Open Report R-Project CloverETL Talend Greenplum/Biz gres Jasper Report JFreeReport Orange Xelopes Intégré Pentaho (Kettle, Mondrian, JFreeReport, Weka) SpagoBI 74
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 75
Exemples Rapports Sales by customer Dashboard Analyse 76
77