48915920-data-warehouse-2009-1_2
TRANSCRIPT
2
Sources Décideurs
L’entrepôt de données dans la ligne décisionnelleL’entrepôt de données dans la ligne décisionnelle
Entrepôt de données
Referentiel
Extracteur
ExtracteurIn
tegr
ateu
r
Extracteur
3
Définitions
Définition 1 (Goglin) : un entrepôt de données est un stockage intermédiaire de données issues des applications de production, dans lequel les utilisateurs finaux puisent avec des outils de restitution et d’analyse.
Définition 2 (Bill Inmon) : Un entrepôt de données est une collection de données thématiques, intégrées, non volatiles et historisées organisées pour la prise de décision.
Inmon et Codd sont considérés comme les auteurs du concept dans le début des années 90.
4
" Thèmatiques "
• Thématique = "Orienté sujet " .
• Orienté par thème et non plus par fonction.
• Exemples :• Dans les bases de données opérationnelles : assurance vie, assurance automobile, paye, facturation.
• Dans les bases de données décisionnelles : client, produit, réseau de distribution, médicament, marché, absences, réussite.
• Ce côté est renforcé dans les magasins.
5
• L’entrepôt n’est pas une concaténation des sources, les données sont sémantiquement intégrées.
• Exemples :
• Reconnaître qu’il s’agit de la même personne malgré un déménagement
• Reconnaître qu’il s’agit du même produit malgré des code barres différents
• Remarque : très difficile, mais indispensable.
" Intégrées "
6
• Pas de suppressions.
• Nécessité d’un référentiel de temps.
• L’historisation permet
• l’extrapolation,
• la mesure de l’impact d’une décision par comparaison de la situation avant et après la mise en application de cette décision.
• Exemple :
• Suivi des évolutions des comportements des clients.
" non volatiles, historisées"
7
• Niveau de granularité.
•Exemple :
• Stockage de tous les appels téléphoniques pour un client
APPEL_TELEPHONIQUE (n° client, horo-date, durée, correspondant, étranger, etc...)
(300 clients, 200 tuples par client, 60000 tuples d’appels).
• Stockage agrégé par client sur 1 mois
APPEL_TELEPHONIQUE (n° client, mois, nombre d’appel, durée moyenne, nombres d’appels vers l’étranger)
(300 tuples d’appels).
" agrégées "
8
• Les systèmes " opérationnels " (ou de " production ", ou de " gestion " ) sont dédiés aux métiers de l’entreprise pour les assister dans leurs tâches de gestion quotidiennes (et directement opérationnels).
ERP
• Les systèmes " décisionnels " sont dédiés au management de l’entreprise pour l’aider au pilotage de l’activité (et indirectement opérationnels).
Ils offrent au décideur une vision transversale de l’entreprise.
DW
" prise de décision"
9
• Suivi du comportement de la clientèle dans les télécommunications
• Nombre moyen d’heures par mois et par région,
• répartition des appels clients sur la semaine,
• Répartition des appels clients sur la journée,
• nombre moyen d’appels représentant 20% d’une facture,
• Durée moyenne d’une communication urbaine,
• Durée moyenne d’une communication intenationale.
• Suivi du marché (lignes installées, désinstallées, services choisis, répartition géographique)
• Comportement du réseau (pannes)
Exemples
10
• Quel est le volume des ventes par produit, par région, pour le 3ième trimestre 2003 ?
• Quel est le volume des ventes de produits laitiers, pour la région parisienne, par an, pour les 5 dernières années ?
• Quel est le type de produits dont les ventes baissent constamment dans les 6 derniers mois de l’année en cours ?
• Est-ce qu’une baisse de 10% ferait redémarrer les ventes de disques ?
Exemples
11
Transactionnel Décisionnel
Données - sur une période courte - historisées
- détaillées - agrégées
- personnelles - peuvent être anonymes
- mises à jour - recalculées
- temps de validité, de transaction
- temps de validité, de transaction, d’extraction
Traitements - requêtes simples - requêtes complexes
- répétitives - variées
- très sensible aux performances
- échelle de performance différente
Différences transactionnel / décisionnel
12
Transactionnel Décisionnel
Conception - orientée fonction - orientée sujet
- relativement statique - évolutif
Utilisateurs - agents opérationnels - manager
Nbres : . utilisateurs - milliers - centaines
. tuples accédés - dizaines/centaines - millions
. base de données - centaines de MB/GB - centaines de GB/TB
Différences transactionnel / décisionnel
13
• En général les "legacy systems", c'est-à-dire principalement les bases de données de production.
• exemples : factures, fichier des nouveaux clients.
• On extrait justement les données pour ne pas travailler directement sur les sources.
- "Décisionnel et transactionnel ne font pas bon ménage ",
- perturbations,
- supports physiques différents,
- outils et utilisateurs différents.
Les sources
14
• Mais aussi des sources extérieures :
• météo,
• calendrier des jours fériés,
• cours de la bourse,
• Géographie (études épidémiologiques, accidents de la route),
• études INSEE.
• Vieilles sources.
Les sources
15
• a pour but d'extraire les données et de les mettre dans un format commun.
• choisit d'extraire ce qui est nécessaire
• on n'importe pas la totalité des sources,
• satisfaire les "vues utilisateurs".
• applique une stratégie de rafraîchissement
• périodicité,
• ou déclenchement.
• peuplement initial.
L'extraction des données
16
3 principales techniques :
• Ecrire des interfaces entre les sources et l'entrepôt,
• Exploiter les fonctionnalités de réplication offertes par les SGBD,
• loader, triggers, passerelles, copies, logs, vues, etc …
• Utiliser un outil ETL
• génère les programmes d'alimentation,
• peut gérer leur déroulement,
• intégration de données.
L'extraction des données
17
• Intégration des données dans l'entrepôt en résolvant les conflits entre les différentes sources d'information
• codages, fautes d'orthographe, etc…
• tables de conversion, etc …
L'intégration des données
ETUDIANTS nom sexe adresseFigue 1 ParisFraise 2 Toulouse
PROF nom sexe adresseFigue M 4, av. Foch ParisFraise F 4, av. Foch Paris
18
Les meta-données
• Les méta-données regroupent l'ensemble des informations concernant l'entrepôt et les processus associés.
Destinées
Aux utilisateurs Aux équipes et outils responsables du processus de transformation des données de production vers l'entrepôt.
SGBD
19
Les meta-données
2 principales utilités
Carte routière pour l'interrogation
Utilisateurs
Pour les algorithmes d'extraction, intégration, nettoyage, rafraîchissement, historisation, qualité.(localisation, règles de transformation, flux)
Responsables des processus (équipes, outils)
+ méta-données habituelles (types, autorisations)
SGBD
20
Les meta-données
• Elles sont stockées dans un référentiel :
• Interface de navigation,
• lien avec les autres systèmes.
• Besoin de standardisation :
• Metadata Council (95, groupe de vendeurs),
• OIM (96, « Open Information Model » de
microsoft)
• CWMI (98, « Common Warehouse Metadata
Exchange » OMG)
21
Les magasins
• sous-ensemble de l’entrepôt,
• temps d’accès réduits, volume réduit, coût réduit,
• orienté vers un sujet particulier,
• les données sont adaptées à une classe de décideurs ou à un usage particulier (ex: fortement agrégées, DM)
généralement modélisé sous forme multidimensionnelle,
• nécessité de définir ne stratégie d’extraction de l’entrepôt,
• on peut avoir des sous-magasins.
22
Outils de restitution
• sur les magasins, ou directement sur l’entrepôt,
• requêtes SQL, SQL/OLAP
• tableurs,
• outils requêteurs spécialisés (outils de reporting),
• progiciels spécialisés,
• sortie web,
• logiciels de datamining,
• sortie système expert.
23
Variantes dans l’architecture
• architecture médiateur (entrepôt virtuel),
• architecture à plusieurs niveaux de stockage (ODS, CDW, etc.),
• architecture à magasins matérialisés et entrepôt virtuel,
• Architecture mixte
• choix des vues à matérialiser,
• choix d’un ODS,
• choix des niveaux de data marts.
24
Le modèle multidimensionnel
• Souvent appelé modèle OLAP (On Line Analytical Processing) (Codd, 1993).
• Présenté comme une alternative au modèle relationnel.
• Correspond mieux aux besoins du décideur.
• "Orienté sujet".
• " Cube" centré sur une activité.
• Exemple : vente.
25
Les faits
• Un cube relate un fait. L’activité est caractérisée par des faits qui se produisent (événements).
• Exemples :
• fait de vente,
• fait de notation,
• fait de passage de transaction boursière,
• fait de consultation médicale,
• fait de dépense dans un hôpital,
• fait d’absence de cours,
• fait de marquage de but,
• fait de fréquentation d’un cinéma.
26
Les indicateurs
• Les faits sont quantifiés par des indicateurs, également appelés "métriques", ou "mesures", ou "variables". Par exemple le fait de vente se caractérise par la quantité vendue et le montant de la vente.
• Ce sont les cellules du cube. Les indicateurs représentent une quantité mesurable, un fait observé.
• Chaque indicateur a une fonction d’agrégat (on peut les additionner, ou calculer le minimum, ou la moyenne).
• Ils sont généralement numériques et additifs :
Le montant des vente est additif (se somme sur toutes les dimensions), le niveau du stock est semi-additif (se somme sur les produits, mais pas sur le temps), la moyenne de fréquentation est non additive.
27
• Exemples :
• CA par produit/agence/dans le temps,
• coût moyen d’une hospitalisation par pathologie,
• le nombre de visiteurs moyens dans un établissement,
• taux d’occupation des lits,
• nombre d’articles en stock,
• satisfaction,
• taux de remplissage des avions par vol,
• temps d’attente moyen au supermarché,
• nombre de connexions sur un site web,
• durée des communications sur un site web.
Les indicateurs (suite)
28
• Formule : On appelle "formule" une mesure non stockée, obtenue à partir des mesures stockées.
• Exemples : prix moyen = total ventes / nombre vendu
• Remarque : il existe des faits sans mesures, les "dummy measures"
• Exemple : location d'une voiture, consultation à hôpital, réservation d'un livre.
• L'agrégation sera le comptage des faits.
Les indicateurs (suite)
29
Les dimensions
• Les "dimensions" sont les axes d'analyse.
• Exemples : produits, temps, région, promotion, fournisseur, joueur, élève, hôpital.
• Chaque dimension est associée à une hiérarchie.
• Exemples :
• continent -> pays -> région -> ville -> magasin
• année -> trimestre -> mois -> jour
• catégorie-> sous-catégorie -> produit
30
Opérateurs multidimensionnels
• Roll-up, ou agrégation, ou consolidation, ou drill-up, ou scale-up, ou forage vers le haut.
• Drill-down, ou désagrégation, ou segmentation, ou roll_down, ou drill-trough, ou forage vers le bas.
• Slice, ou projection.
• Dice, ou selection, ou filtering, ou screening.
• Pivot, ou rotation.
• Switch, ou permutation.
31
Implémentation
• MOLAP : Stocké sous forme multidimensionnelle propriétaire; avec stockage de toutes les agrégations.
• ROLAP : Stockage dans un SGBD relationnel (modèle en étoile).
• HOLAP : Hybride.
32
Sources
Modèles util isésModèles util isés
Entrepôt de données
Référentiel
Modèle d'intégration
Magasin de données
Modèle de diffusion
Modèle de présentation
33
Magasins de données (data marts)en constellation d’étoiles ROLAP
Lieux Age du patient
Type de maladie
Indicateurs
Nombre de patientsNombre de guérisonCoûtEtc ….
Date
Type de soins
Sexe du patient
Etc.
…
Modèle de Modèle de diffusiondiffusion
34
Table de faitsTable de faits
Effectif concerné
PatientsPatientsSexeTranche d’age
Type du cathéterType du cathéterArtèreVeineuxSwan GanzEtc.
Coté du cathéterCoté du cathéterDroitGauche
Acte sur cathéterActe sur cathéterPoseChangementChangement sur siteEtc.
Site du cathéterSite du cathéterAxillaireFémoraleHuméralEtc.
RésistanceRésistanceOuiNon
Date infectionDate infectionJourMoisAnnée
Jour infectionJour infectionJour 1 du séjourEtc.
GermesGermesstaphylococcus aureusstaphylococcus epidermidisstaphylococcus coagulase négatifenterococcus faecalis, faeciumstreptococcus, A groupEtc.
35
Modélisation en étoiles
Temps
clé_tempsheurejoursemainemoisannéefériéévénement
Fait de Vente
clé_tempsclé_produitclé_magasin
montant_ventesquantité_vendue Magasin
clé_magasinadressevilledépartementsecteur_ventesurface
Produit
clé_produitdescriptionmarquecatégoriesous_catégoriecouleurtaille
36
Modélisation en flocons
Temps
clé_tempsheurejoursemainemoisannéefériéévénement
Fait de Vente
clé_tempsclé_produitclé_magasin
montant_ventesquantité_vendue
Magasin
clé_magasinclé_localisationsecteur_ventesurface
Produit
clé_produitdescriptionmarqueclé_sous_catégoriecouleurtaille
Sous_catégorie
clé_sous_catégoriesous_catégoriecatégorie
Localisation
clé_localisationadressevilledépartement
Les tables de dimension sont normalisées
37
Modélisation en constellations
Les tables de dimensions sont partagées par plusieurs tables de faits
Temps
clé_tempsheurejoursemainemoisannéefériéévénement
Fait de Vente
clé_tempsclé_produitclé_magasin
montant_ventesquantité_vendue
Magasin
clé_magasinclé_localisationsecteur_ventesurface
Produit
clé_produitdescriptionmarqueclé_sous_catégoriecouleurtaille
38
Différentes catégories de tables de faits
• Type "transaction"
• fait = activité de la transaction (ex: une vente)
• date = date de la transaction
• 1 ligne par événement
•Type "instantané périodique"
• fait = performance dans un intervalle prédéfini (ex: total
des entrées en fin de journée)
• date = date fin de période
•1 ligne par période
39
• Type "instantané récapitulatif"
• fait = performance dans un intervalle de temps
correspondant à une activité (ex: évaluation d'un cours,
séjour d'un patient)
• dates = date début, date fin
•1 ligne par activité
40
Modèle de présentation
Nbre de patients femmes de moins de 30 ans
Infectieuse chronique etc.
Nord 300 200
PACA 50 150
Bretagne 45 120
Etc.
41
Nbre de patients femmes de moins de 30 ans
Infectieuse chronique etc.
Nord
PACA 50 150
Bretagne 45 120
Etc.
Lille 150 110Caen 30 25Calais 43 40Rouen 77 25
42
Nbre de patients femmes de moins de 30 ans
InfectieusePneumo. Grippe
chronique etc.
Nord
PACA 50 150
Bretagne 45 120
Etc.
Lille 140 10 110Caen 15 15 25Calais 23 20 40Rouen 40 37 25
43
Méthodologie de conception
• Méthodologie basée sur une matrice (préconisée par les
vendeurs d'outils MOLAP).
• Lister les faits et les mesures pertinents,
• Définir pour chaque mesure les dimensions dont elle
dépend,
• Donner les hiérarchies, Choisir le niveau d'agrégation.
44
Méthodologie de conception
• Méthodologie basée sur l'analyse des requêtes• Attributs du group by : dimensions• Attributs agrégés : mesures• Attributs du "where" : attributs des tables de fait ou de
dimensions.• Exemple :
Select vente.n°magasin, vente.n°produit, sum(vente.prix)
from vente, produit
Where produit.n°produit = vente.n°produit
and produit.description = "livre"
group by vente.n°magasin, vente.n°produit;
45
Méthodologie de conception
• Méthodologie basée sur un modèle conceptuel des données
(approche MAP Akoka, Prat, Comyn_Wattiau)
•Effectuer la modélisation en entité-association,
•Les associations (m-n) deviennent des tables de faits,
•Les entités participantes deviennent des tables de dimensions,
•Les propriétés des associations deviennent les variables
multidimensionnelles,
• deux entités reliées par une associations 1-n acquièrent un lien
de hiérarchie.
46
Gestion des changements dans les dimensions
• Exemples : le client change d'adresse, un vendeur change d'affectation.
• Remarque : distinguer les changements fréquents et les changements moins
fréquents (SCD).
• Solution 1: Vraie MAJ (écrasement de l'ancienne valeur)-> Correction d'une erreur, ou historique de changement sans intérêt.
• Solution 2 : Stockage des différentes versions :Clé-artificielle, version 1 ………, clé naturelle, dern.version (O/N), date-début, date-fin
Clé-artificielle, version 2 ………, clé naturelle, dern.version (O/N), date-début, date-fin
Clé-artificielle, version n ………, clé naturelle, dern.version (O/N), date-début, date-fin
47
• Solution 3 : Conservation des deux dernières valeurs
Clé-artificielle, …,valeur précédente d'un attribut, nouvelle valeur de cet attribut,
……
Solution 4 : Changements réguliers prévus
Clé-artificielle, … , valeur 2000, valeur 2001, valeur 2002, valeur 2003, …
Solution 5 : Mini dimensions
Une dimension client, une dimension profil_client
-> pour les changements fréquents