Génie Logiciel Gestion de projet
Transcription
Génie Logiciel Gestion de projet
Les Entrepôts de Données Grégory Bonnet Abdel-Illah Mouaddib GREYC GREYCDépt Dépt informatique : informatique : GREYC GREYCDépt Déptinformatique : informatique : Cours CoursSIR 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 Données réparties Service finance Service commercial Service livraison Clientèle • Comment : Fédérer et regrouper l’ensemble des données de l’entreprise Entrepôt Clientèle historique Regroupement d’information 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 Schéma en étoile • 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 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é Animal Lieu Quantite FROM Stocks Chat Paris 18 GROUP BY Animal, Lieu Chat Naples 9 Chat 27 WITH CUBE Chien Paris 12 Animal Chien Chat Tortue Chien Chat Chien Tortue Lieu Paris Paris Rome Rome Naples Naples Naples Quantite 12 18 4 14 9 5 1 Chien Chien Chien Tortue Tortue Tortue - Naples Rome Naples Rome Paris Naples Rome 5 14 31 1 4 5 63 30 15 18 Implantation en SQL SELECT Animal, Lieu, SUM(Quantité) as Quantité FROM Stocks Animal Lieu Quantite Chat Paris 18 GROUP BY Animal, Lieu Chat Naples 9 Chat 27 WITH ROLLUP Animal Chien Chat Tortue Chien Chat Chien Tortue Lieu Paris Paris Rome Rome Naples Naples Naples Quantite 12 18 4 14 9 5 1 Chien Chien Chien Chien Tortue Tortue Tortue - Paris Naples Rome Naples Rome - 12 5 14 31 1 4 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. Prod. A B C 2003 9000 0 1100 Prod. A B C A C B A C A 2004 10000 18000 850 Annee 2005 2006 2005 2006 2004 2004 2004 2003 2003 2005 12000 0 1000 Vente 12000 15000 1000 12500 850 18000 10000 1100 9000 2006 12500 15000 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