Les entrepôts de données 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? Quels français consomment beaucoup de poisson? Pourquoi et comment le chiffre d’affaire a baissé? 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 Rassembler Analyser les Établir des Décider solutions problème les données données 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 9 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 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 USD EUR 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 Image de la base en Mai 2005 Image de la base en Juillet 2006 Répertoire Répertoire Base de production Nom Ville Nom Ville Dupont Paris Dupont Marseille Durand Lyon Durand Lyon Répertoire Calendrier Entrepôt de données Code Année Mois Code Année Mois 1 2005 Mai 1 Dupont Paris 2 2006 Juillet 1 Durand Lyon 15 2 Dupont Marseille SGBD et DW OLTP: On-Line Transactional Processing Service commercial Service Financier Service livraison BD prod BD prod BD prod Clientèle Data Warehouse OLAP: On-Line Analitical Processing Clientèle H I S T O R I Q U E 16 OLTP VS DW OLTP DW Orienté transaction Orienté analyse Orienté application Données courantes Orienté sujet Données historisées Données détaillées Données évolutives Données agrégées Données statiques Utilisateurs nombreux, Utilisateurs peu nombreux, administrateurs/opérationnels manager Temps d’exécution: court 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 stockage Zone de préparation 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 Zone de présentation Requêtes Rapports Visualisation Data Mining … Datamart 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 Mode d’expédition Transporteur Produit Contrat Type de contrat Commande client Groupe de produits Client Magasin Employé Stock Fonction Fournisseurs Région de ventes Division de ventes Famille de produits 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 Contient les clés étrangères des axes d’analyse (dimension) Quantités vendues, montant des ventes… 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 31 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 + 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 Groupe de produit 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 Faits Clé_client Clé_client Clé_client Nom Faits Nom … Prénom Clé_client Adresse Clé_démog Prénom Adresse Date_nais Date_naissance … … 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 …. Dimension produit ID produit ID groupe nom code prix poids … Table de faits Achat ID client ID temps ID magasin ID région ID produit Quantité achetée Montant des achats 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. 2. 3. 4. 5. 6. 7. 8. 9. Choisir le sujet Choisir la granularité des faits Identifier et adapter les dimensions Choisir les faits Stocker les pré-calculs Établir les tables de dimensions Choisir la durée de la base Suivre les dimensions lentement évolutives 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 Produits oranges poires Produit PK id_produit Espagne Allemagne pommes Libellé Famille Pays Achat France PK id_achat FK id_client client PK id_client Nom id_produit Quantité janvier avril février 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 Œuf 05 06 07 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 Œuf 05 06 07 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 05 07 Dimension Temps Alim. 496 520 255 Roll up 05-07 Fruits 06 623 Viande 648 05 Fruits 06 07 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 Dimensions, axes d’analyse Cube WHERE ([Measures].[Count]) 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 Octopus MySql Mondrian Birt Weka Kettle Postgresql Palo R-Project CloverETL Greenplum/Biz Talend gres Reporting Open Report Data Mining Jasper Report Orange JFreeReport Xelopes Intégré Pentaho (Kettle, Mondrian, JFreeReport, Weka) SpagoBI 74