Génie Logiciel Gestion de projet

publicité
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
Téléchargement