Les entrepôts de données
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 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 Pourquoi et comment le chiffre d’affaire a baissé? Qui sont mes meilleurs clients? A combien s’élèvent mes ventes journalières? Quels français consomment beaucoup de poisson?
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 Immense volume de données
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 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
Le processus de prise de décision Bases de production Data warehouse Base multi - dimensionnelle Prédiction / simulation
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) …
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 Démonstration
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 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 -pas de modification, pas de suppression - Fige l’état des données au moment de l’alimentation du DW - un référentiel temps est mis en place pour identifier chaque donnée Police
Les 4 caractéristiques des data warehouse Données intégrées: Normalisation des données Définition d’un référentiel unique h,f 1,0 homme, femme -pas de modification, pas de suppression - Fige l’état des données au moment de l’alimentation du DW - un référentiel temps est mis en place pour identifier chaque donnée GBP CHF USD EUR
Les 4 caractéristiques des data warehouse 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 Modification Suppression Accès Chargement -pas de modification, pas de suppression - Fige l’état des données au moment de l’alimentation du DW - un référentiel temps est mis en place pour identifier chaque donnée
Les 4 caractéristiques des data warehouse 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 Dupont Paris Durand Lyon Nom Ville Dupont Marseille Durand Lyon Calendrier Répertoire Entrepôt de données Code Année Mois 1 2005 Mai 2 2006 Juillet Code Année Mois 1 2005 Mai Code Année Mois 1 Dupont Paris Durand Lyon 2 Marseille Code Année Mois 1 Dupont Paris Durand Lyon
SGBD et DW Data Warehouse Service commercial Service Financier Service livraison BD prod Clientèle OLTP: On-Line Transactional Processing Data Warehouse Clientèle H I S T O R I Q U E Objectif: retrouver une information historique et transversale Comment: fédérer, regrouper l’ensemble des données de l’entreprise OLTP: SGDB et support physique hétérogènes Qualité des données inégales Représentation hétérogène DW: données centralisée, fiables, interprétables Consolide l’information jugée stratégique pour l’entreprise dans une même base de données OLAP: On-Line Analitical Processing
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 Démonstration
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
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 Zone de présentation Zone de préparation Zone de stockage Transformations: Nettoyage Standardisation … Requêtes Rapports Visualisation Data Mining … EXTRACTION CHARGEMENT Data warehouse Datamart Sources de données
Les flux de données Flux entrant Flux sortant: 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: Rapports Requêtes… Staging area: ne pas faire les transformations en même temps que les extractions On extrait donc qu’une seule fois les données, et on peut leur appliquer plusieurs transformations
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 utilisable le modèle E/A Inadapté pour l’analyse
Exemple Mode d’expédition Transporteur Produit Contrat Commande client Groupe de produits Type de contrat Client Magasin Famille de produits Employé Région de ventes Stock Fonction Division de ventes 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 Modèle en flocon
Table de faits des ventes 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 Non additif Répond à la question « qu’est-ce qu’on mesure »
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 Finesse Taille de l’entrepôt
Table de dimension Dimension produit 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
La dimension Temps Dimension Temps Clé temps (CP) Jour Mois Trimestre 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
É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 Valeur d’origine / valeur courante Dimensions à évolution rapide
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 12345 Intelli-Kids Logiciel 25963 Intelli-Kids Jeux éducatifs
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
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 client Clé_client Nom Prénom Adresse Date_naissance … Dim client Clé_client Nom Prénom Adresse Date_nais … Revenus Niveau_étude Nb_enfants Statut_marital Profil_financier Profil_achat Faits Clé_client … Faits Clé_client Clé_démog Dim_démographique Clé_démog Revenus Niveau_étude Nb_enfants Statut_marital Profil_financier Profil_achat
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 mesures
Modèle en étoile Dimension Temps ID temps année mois jour … Dimension produit ID produit nom code prix poids groupe famille … Dimension Magasin ID magasin description ville surface … Table de faits Achat ID client ID temps ID magasin ID région ID produit Quantité achetée Montant des achats Dimension Region ID région pays description district vente …. Dimension Client ID client nom prénom adresse …
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
Modèle en flocon Dimension produit ID produit ID groupe nom code prix poids … Dimension Temps ID temps annee mois jour … Dimension Magasin ID magasin description ville surface … Dimension groupe ID groupe ID famille nom … Table de faits Achat ID client ID temps ID magasin ID région ID produit Quantité achetée Montant des achats Dimension Region ID région ID division vente pays description …. Dimension Famille ID famille nom … Dimension Client ID client nom prénom adresse … Dimension Division vente ID division vente description ….
Méthodologie: 9 étapes de Kimball 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 Bien cerner la problématique, qu’est ce que l’utilisateur veut? Prendre la plus fine, celle qui donne les informations les plus fines et donc les plus intéressantes Le « par » par client, par jour Les indicateurs dont ont besoin les décideurs Éviter les erreurs de calcul dans les rapports Identifier les champs intéressants (couleur, âge…) A partir de quand on commence? Rythme de mise à jour? Optimisation des requêtes…
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)
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
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
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 Démonstration
Vente de pommes en Allemagne en avril OLTP VS OLAP Pays France Espagne Allemagne pommes poires oranges janvier février avril Temps Produits Vente de pommes en Allemagne en avril Produit PK id_produit Libellé Famille Achat PK id_achat FK id_client id_produit Quantité client PK id_client Nom adresse OLTP: pour les systèmes opérationnels OLAP: cube à N dimensions où toutes les intersections sont calculées -> accès à l’information à l’intersection souhaitées est très rapide
ROLAP Relational OLAP Plus facile et moins cher à mettre en place 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
MOLAP Multi dimensional OLAP: Plus difficile à mettre en place 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: Solution hybride entre MOLAP et ROLAP 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
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
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 163 152 145 187 174 184 06 Œuf Idf 265 Ain 245 Viande 152 174
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 163 152 145 187 174 184 05 06 07 Œuf Idf 220 265 284 Ain 225 245 240
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
Drill-up, drill-down Roll up Dimension Temps Roll up Drill down 05 06 07 Alim. 496 520 255 Dimension Temps Roll up 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 Drill down Drill down Dimension Produit
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
Dimensions, axes d’analyse 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 Heure 3396 4015 Jour 3678 2056
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
Quelques solutions commerciales
Quelques solutions open source ETL Entrepôt de données OLAP Reporting Data Mining Octopus Kettle CloverETL Talend MySql Postgresql Greenplum/Bizgres Mondrian Palo Birt Open Report Jasper Report JFreeReport Weka R-Project Orange Xelopes Intégré Pentaho (Kettle, Mondrian, JFreeReport, Weka) SpagoBI