Les Entrepôts de Données Grégory Bonnet Abdel-Illah Mouaddib GREYC Dépt Dépt informatique :: GREYC Dépt Dépt informatique :: Cours Cours SIR SIR
Systèmes d information décisionnels Nouvelles générations : Systèmes d information hétérogènes Systèmes d information décisionnels (SID) Systèmes d information géographiques et de géolocalisation SID : Information Analyse Prise décision Exemple : données sur les clients d un magasin, analyse des comportements des clients, proposer de nouveaux produits
Motivations Besoin des entreprises Accéder à toutes les données de l entreprise Regrouper des informations disséminées Analyser et prendre des décisions rapidement Exemples Grande distribution : marketing, maintenance Bancaire : suivi de clients, gestion de portefeuilles Télécommunications : pannes, fraudes, mobilité
Des données aux informations Données Montant total des ventes pour la région parisienne Vendeur ayant réalisé le meilleur chiffre d affaire Information Évolution des ventes régionales sur les 5 dernières années Sur quels produits faire des offres promotionnelles? Quelle est la rentabilité d une activité?
Gestion des données Systèmes OLTP (Online Transaction Processing) Comptabilité, achats, réservation, etc. Caractéristiques Priorités : performance, forte disponibilité Temps de réponse : en secondes Modèles : hiérarchique, relationnel, réseaux, fichiers Contenu de données : organisés par applications Traitement : très structuré, répétitif Utilisateurs : employés, administrateurs, etc.
Limites des OLTP OLTP mal adaptés pour les SIDs. Problèmes : Analyse de données massives (giga, tera) Lourdeur des requêtes moins fréquentes plus complexes plus longues nécessitant une agrégation des données de masse. Extractions de données Qualité des données incertaines
Exemple d OLTP Applications : gestion, vente, distribution de produits ou services (www.tpc.org/tpce/default.asp) Transaction OLTP Nouvelle commande : à saisir Paiement : mise à jour le compte d un client Livraison : livrer les commandes Stock : gérer l inventaire du stock
Entrepôts de données Un SI dédié aux applications décisionnelles En aval des bases de production En amont des prises de décisions Utilisation Banque, assurance : évaluer les risques Commerce : cibler la clientèle, définir une promotion Logistique : offrir les services adéquats (FT) Santé : risque épidémiologiques Métiers Finance Intelligence : planifier et diffuser l information financière Supplier Relationship Management : planifier et piloter les achats
Architecture (simplifiée) Approche entrepôt de données : Machine puissante dédiée Souvent parallèle Avec des logiciels médiateurs (middlewares) de Collecte de données Analyse de données
Caractéristiques des données Données historisées ensemble de données variant dans le temps Structurées dans une base de données unique Données organisées issues de bases applicatives ou fichiers par extraction organisées en sujets spécifiques Données gérées environnement de stockage particulier aide à la prise de décision
Pourquoi un entrepôt? Objectif : Retrouver une information historique et transversale à l entreprise Comment : Fédérer et regrouper l ensemble des données de l entreprise Service finance Données réparties Service commercial Clientèle Entrepôt Clientèle Service livraison Regroupement d information historique
Une structure de centralisation
Modélisation par sujets Objectif exploiter plus efficacement l entrepôt Moyen utilisé classification par sujet fonctionnel et non application. un sujet est souvent une table gérée par l entrepôt Une table est une structure qui isole : des données stratégiques des informations nécessaires des résumés à conserver Calculées par des requêtes avec des fonctions d agrégats
Modélisation par sujets Sujet = faits (indicateurs) + dimensions (outils) Faits = données brutes Exemple : chiffre d affaire, nombre de vente, coûts, marges, etc. Dimensions = axes d analyse Exemple : temps, géographie, client, produit, etc. Sujet Exemple : évolution du chiffre d affaire sur une période de temps
Les dimensions sont en relation directe avec les faits La granularité doit être la même (information par heure et dimension temporelle en minutes) On utilise les dimensions Schéma en étoile
Schéma en flocon Le schéma en étoile provoque des problèmes de dimensionnement Le schéma en flocon permet la hiérarchisation des dimensions Il faut floconner si une ligne de la dimension père peut faire plus de 1000 lignes de la dimension fille Utilisation de moins en
Un exemple
Pour un logiciel médiateur? Problèmes de cohérence Entre : Entrepôt de données Bases de données légataires Quelques exemples : Les données de certains sites sont maintenues pendant une longue période jusqu à la cohérence. Une mise à jour sur une base peut provoquer des requêtes sur d autres bases Les mêmes informations peuvent être enregistrées sous des formats différents entre les sites
Architecture en trois couches Extraction des données Un moniteur est implanté dans chaque base de données Chaque mise à jour est détectée L entrepôt de donnée en est informé Collecte de données Les mises à jours sont intégrées dans l entrepôt Les données sont restructurées et représentées Organisation par sujets Analyse de données formulation de requêtes sur des faits étudiés (courbes d évolution) aide à la décision (extrapolation) outils d extraction et de présentations graphiques variées
Composants d intégration Moniteur : composant capable d exporter au bon moment des données d une source locale dans le bon modèle. Enveloppeur (Wrapper) : composant capable de traduire les requêtes et les données depuis le modèle source locale vers le modèles de l entrepôt et vice-versa. Médiateur : composant capable de fournir une vision intégrée des données sources par des requêtes.
Quelques problématiques Extraction Plusieurs sources sur différentes périodes répétées Déclencheurs (PUSH) ou requêtes (PULL) Estampillage temporel des données Accès unifiés aux données Unification des modèles (traduction, annuaires, XML) Unification des accès (même langage de requêtes) Unification des noms (utilisation de «business rules») Nettoyage des données Elimination des doubles, des vides et des incohérences
Architecture opérationnelle L entrepôt est basé sur un serveur relationnel capable de garder des données pendant une longue période pour prendre des décisions. Donc : le contenu est volumineux les requêtes décisionnelles sont plus complexes Conséquence : des serveurs parallèles sont indispensables
Conception de l entrepôt Conception difficile car plusieurs paramètres à maîtriser : Dimensionnement de la machine Données mal ciblées Sujets mal centrés Périodes de mise à jour Un exercice intellectuel de très haut niveau conception, prototypage, déploiement, livraison, évaluation Peu d outil d aide à la conception Pentaho Talend
Outils d analyse de données Aide à la décision interroger et analyser les évolutions Fouille de données comprendre les relations entre les données
Online Analytical Processing Qu est-ce que OLAP? OLAP facilite l interrogation à partir d un poste client Analyse fondée sur des interfaces graphiques Présentation de données complexes Utilisation d hyper-cubes (ou data-cubes) représentation 3D des résultats Une dimension temporelle indispensable
Principes Vue conceptuelle multidimensionnelle Transparence Accessibilité Constance des temps de réponse Architecture client-serveur Indépendance des dimensions Gestion des matrices creuses Accès multi-utilisateurs Pas de restriction sur les opérations inter- et intra-dimensions Manipulation aisée des données Simplicité des rapports Nombre illimité de dimensions et d éléments
Hypercube Représentation 3D des données Propriétés Proposer une information agrégée Simplicité des opération Rapidité d accès aux données Manipulation en plusieurs dimensions Gestion des opérations classiques MIN, MAX, COUNT, SUM, AVG
Représentation d un hypercube
Implantation d un hypercube M-OLAP Tables multidimensionnelles pré-calculées Performant mais limité en taille de données Complexité spatiale accrue R-OLAP Tables relationnelles Une nouvelle table est créée pour chaque agrégat Supporte une masse de données, lent et limité par le langage H-OLAP Tables relationnelles pour stocker les données Tables multidimensionnelles pour stocker les agrégats Combine les avantages et les limites des deux modèles
Navigation multidimensionnelle Projection en deux dimensions Chiffre d affaire par produit et par région Coupe Évolution du chiffre d affaire par produit pour une région Réduction selon une dimension Chiffre d affaire par produit
Opérations sur les cubes Roll-up Agréger selon une dimension Drill down Détailler selon une dimension Slice and dice Sélection et projection selon un axe Pivot Tourne le cube pour visualiser une face
Implantation en SQL SELECT Animal, Lieu, SUM(Quantité) as Quantité FROM Stocks GROUP BY Animal, Lieu WITH CUBE Animal Lieu Quantite Chien Paris 12 Chat Paris 18 Tortue Rome 4 Chien Rome 14 Chat Naples 9 Chien Naples 5 Tortue Naples 1 A n i m a l L i e u Q u a n t i t e Chat Paris 18 Chat Naples 9 Chat - 27 Chien Paris 12 Chien Naples 5 Chien Rome 14 Chien - 31 Tortue Naples 1 Tortue Rome 4 Tortue - 5 - - 63 - Paris 30 - Naples 15 - Rome 18
Implantation en SQL SELECT Animal, Lieu, SUM(Quantité) as Quantité FROM Stocks GROUP BY Animal, Lieu WITH ROLLUP Animal Lieu Quantite Chien Paris 12 Chat Paris 18 Tortue Rome 4 Chien Rome 14 Chat Naples 9 Chien Naples 5 Tortue Naples 1 A n i m a l L i e u Q u a n t i t e Chat Paris 18 Chat Naples 9 Chat - 27 Chien Paris 12 Chien Naples 5 Chien Rome 14 Chien - 31 Tortue Naples 1 Tortue Rome 4 Tortue - 5 - - 63
Implantation en SQL SELECT Prod., SUM([2003]) as [2003], SUM([2004]) as [2004], SUM([2005]) as [2005], SUM([2006]) as [2006] FROM Ventes PIVOT (SUM(Vente) FOR Annee IN ([2003],[2004],[2005],[2006]) AS Annees GROUP BY Prod. P r o d. A n n e e V e n t e A 2005 12000 B 2006 15000 C 2005 1000 A 2006 12500 C 2004 850 B 2004 18000 A 2004 10000 C 2003 1100 A 2003 9000 Prod. 2003 2004 2005 2006 A 9000 10000 12000 12500 B 0 18000 0 15000 C 1100 850 1000 0
Fouille de données Définition : Ensemble de techniques d exploration de données ayant pour objectif d en tirer des connaissances sous formes de modèles Cycle : Données dans l entrepôt Fouille de données Production de connaissances Objectif : Prédiction de données
Plusieurs techniques Statistique : données statistiques (moyenne, variances et écart types) entre les données traitées comme des variables aléatoires. Découverte de règles : découvrir que si X alors Y. Recherche de modèle fonctionnel : trouver une fonction entre les valeurs en sorties et les valeurs en entrées. Classification : la technique de prédilection qui consiste à ranger les données dans des classes prédéfinies
Un exemple en SQL
Calculs en SQL Introduction de fonctions d agrégats AVG = moyenne MAVG = moyenne mobile STDDEV = écart-type VARIANCE = variance COVARIANCE = covariance
Un exemple SELECT COVARIANCE(salaire_courant, salaire_base) FROM Employee WHERE grade = ingénieur GROUP BY Sexe
Data Webware Principe Coupler les entrepôts de données et Internet Indispensable pour : Commerce électronique Client-serveur Web Gestion de données issues du Web.
Bases de données fédérées Qu est-ce qu une base de données fédérée? Une base de donnée répartie et hétérogène Utilise des données de différentes sources Exemple : BD relationnelle, fichiers textes, HTML, XML Objectif fournir à un utilisateur une vue intégrée des données dynamiquement (techno. PULL) périodiquement (techno. PUSH). l entrepôt dans ce cas est donc une BD fédérée