Upload
omar-ah
View
1
Download
0
Embed Size (px)
DESCRIPTION
y
Citation preview
Entrepts de
donnes
NEGRE Elsa
Universit Paris-Dauphine
2014-2015
Contexte et problmatique Le processus de prise de dcision
Lentrept de donnes Dfinition
Diffrence avec un SGBD
Caractristiques
Architecture dun systme dcisionnel
Modlisation multidimensionnelle Niveau conceptuel
Niveau logique
Niveau physique
Ralisation dun entrept
Reprsentation et manipulation Le cube OLAP
Solutions existantes
3
Contexte (1)
Besoin : Prise de dcisions stratgiques et tactiques
Ractivit
Qui : les dcideurs (non informaticiens, non statisticiens)
Comment : Rpondre aux demandes danalyse de donnes
Dgager des informations qualitatives nouvelles
4
Contexte (2)
Type de donnes : donnes oprationnelles (de production) Bases de donnes, Fichiers, Paye, Gestion RH,
Caractristiques des donnes : Distribues : systmes parpills
Htrognes : systmes et structures de donnes diffrents
Dtailles : organisation de donnes selon les processus fonctionnels et donnes trop abondantes pour lanalyse
Peu/pas adaptes lanalyse : des requtes lourdes peuvent bloquer le systme transactionnel
Volatiles : pas dhistorisation systmatique
5
Problmatique (1) Nous avons donc :
Une grande masse de donnes Distribues
Htrognes
Trs dtailles
traiter Synthtiser / rsumer
Visualiser
Analyser
pour une utilisation par des Experts / analystes dun mtier Non informaticiens
Non statisticiens
6
Problmatique (2)
Comment rpondre aux besoins de dcideurs
afin damliorer les performances dcisionnelles de lentreprise?
En donnant un accs rapide et simple linformation stratgique
En donnant du sens aux donnes
En donnant une vision transversale des donnes de
lentreprise (intgration de diffrentes bases de donnes)
En extrayant, groupant, organisant, corrlant et
transformant (rsum, agrgation) les donnes
7
Problmatique (3)
Mettre en place un SI ddi aux applications dcisionnelles : un entrept de donnes (datawarehouse)
Transformer des donnes de production en informations stratgiques
Sources : Th. Ester, HEC Lausanne
8
Le processus de prise de dcision (1)
Sources : Lydie Soler, AgroTechParis
9
Le processus de prise de dcision (2)
Sources : Lydie Soler, AgroTechParis
10
Lentrept : Dfinition
Le DW est une collection de donnes
orientes sujet, intgres, non volatiles et
historises, organises pour le support
dun processus daide la dcision. W.H. Inmon (1996)
Cest une BD des fins danalyse !!
11
Pourquoi pas un SGBD ? (1)
Fonctions dun SGBD :
Systmes transactionnels (OLTP)
Permettre dinsrer, modifier, interroger rapidement, efficacement et en scurit les
donnes de la base
Slectionner, ajouter, mettre jour, supprimer
des tuples
Rpondre de nombreux utilisateurs
simultanment
12
Pourquoi pas un SGBD ? (2)
Fonctions dun DW :
Systmes pour laide la prise de dcision (OLAP)
Regrouper, organiser des informations
provenant de sources diverses
Intgrer et stocker les donnes pour une vue
oriente mtier
Retrouver et analyser linformation rapidement et facilement
13
Pourquoi pas un SGBD ? (3)
OLTP DW
Utilisateurs Nombreux
Employs
Peu
Analystes
Donnes Alphanumriques
Dtailles / atomiques
Orientes application
Dynamiques
Numriques
Rsumes / agrges
Orientes sujet
Statiques
Requtes Prdfinies one-use
Accs Peu de donnes
(courantes)
Beaucoup dinformations (historises)
But Dpend de lapplication Prise de dcision
Temps dexcution Court Long
Mises jour Trs souvent Priodiquement
14
Pourquoi pas un SGBD ? (4)
Sources : Lydie Soler, AgroTechParis
15
Caractristiques dun DW (1)
Donnes orientes sujet
Regroupe les informations des diffrents
mtiers
Ne tiens pas compte de lorganisation fonctionnelle des donnes
Sources : Lydie Soler, AgroTechParis
16
Caractristiques dun DW (2)
Donnes intgres
Normalisation des donnes
Dfinition dun rfrentiel unique
Sources : Lydie Soler, AgroTechParis
17
Caractristiques dun DW (3)
Donnes non volatiles
Traabilit des informations et des dcisions
prises
Copie des donnes de production
Sources : Lydie Soler, AgroTechParis
18
Caractristiques dun DW (4)
Donnes historises / dates
Les donnes persistent dans le temps
Mise en place dun rfrentiel temps
Sources : Lydie Soler, AgroTechParis
19
Caractristiques dun DW (5)
Inconvnient :
De par sa taille, le DW est rarement utilis
directement par les dcideurs car il
contient plus que ncessaire pour une
classe de dcideurs
20
Le datamart
Sous-ensemble dun entrept de donnes
Destin rpondre aux besoins dun secteur ou dune fonction particulire de lentreprise
Point de vue spcifique selon des critres mtiers
Sources : Lydie Soler, AgroTechParis
21
Architecture dun systme dcisionnel
Sources : C. Chrisment, IRIT
22
Plus en dtails
23
Modlisation multidimensionnelle
Niveau conceptuel
Niveau logique
Niveau physique
24
Niveau conceptuel
Description de la base multidimensionnelle
indpendamment des choix d'implantation
Les concepts:
Dimensions et hirarchies
Faits et mesures
25
Dimension (1)
Axes d'analyse avec lesquels on veut faire l'analyse Gographique, temporel, produits, etc.
Chaque dimension comporte un ou plusieurs attributs/membres
Une dimension est tout ce qu'on utilisera pour faire nos analyses.
Chaque membre de la dimension a des caractristiques propres et est en gnral textuel
Remarque importante : tables de dimension
26
Dimension (2)
Dimension produit
Cl produit (CP)
Code produit
Description du produit
Famille du produits
Marque
Emballage
Poids
Cl de substitution
Attributs de la
dimension
27
Hirarchie (1)
Les attributs/membres d'une dimension sont organiss suivant des hirarchies Chaque membre appartient un niveau hirarchique
(ou niveau de granularit) particulier
Exemples : Dimension temporelle : jour, mois, anne
Dimension gographique : magasin, ville, rgion, pays
Dimension produit : produit, catgorie, marque, etc.
Attributs dfinissant les niveaux de granularit sont appels paramtres
Attributs informationnels lis un paramtre sont dits attributs faibles
28
Hirarchie (2)
Hirarchies multiples dans une dimension
Anne
Semestre
Semaine
Mois
Jour
Pays
Dpartement
Ville
Client
Rgion de ventes
Secteur de ventes
29
Granularit (1)
Niveau de dtail de reprsentation
Journe > heure du jour
Magasin > rayonnage
Choix de la granularit
30
Granularit (2)
31
Fait Sujet analys
un ensemble d'attributs appels mesures (informations oprationnelles) les ventes (chiffre d'affaire, quantits et montants commands, volumes des
ventes, ...)
les stocks (nombre d'exemplaires d'un produit en stock, ...),
les ressources humaines (nombre de demandes de congs, nombre de dmissions, ).
Un fait reprsente la valeur dune mesure, calcule ou mesure, selon un membre de chacune des dimensions
Un fait est tout ce qu'on voudra analyser. Exemple : 250 000 euros est un fait qui exprime la valeur de la mesure Cot
des travaux pour le membre 2002 du niveau Anne de la dimension Temps et le membre Versailles du niveau Ville de la dimension Dcoupage administratif.
La table de fait contient les valeurs des mesures et les cls vers les tables de dimensions
32
Mesure
lment de donne sur lequel portent les analyses, en fonction des diffrentes dimensions.
Ces valeurs sont le rsultat doprations dagrgation sur les donnes Exemple :
Cot des travaux
Nombre daccidents
Ventes
33
Cls
Tables de dimension
Cl primaire
Tables de fait
Cl compose
Cls trangres des tables de dimension
34
Modlisation
Au niveau conceptuel, il existe 2 modles :
en toile (star schema)
ou en constellation (fact constellation schema)
35
Modle en toile (1)
Une table de fait centrale et des dimensions
Les dimensions nont pas de liaison entre elles
Avantages : Facilit de navigation
Nombre de jointures limit
Inconvnients : Redondance dans les dimensions
Toutes les dimensions ne concernent pas les mesures
36
Modle en toile (2)
Sources : Lydie Soler, AgroTechParis
37
Constellation (1)
Srie dtoiles
Fusion de plusieurs modles en toile qui
utilisent des dimensions communes
Plusieurs tables de fait et tables de
dimensions, ventuellement communes
38
Constellation
(2)
Sources : http://gankahhwee.com
39
Niveau logique
Description de la base multidimensionnelle
suivant la technologie utilise :
ROLAP (Relational-OLAP)
MOLAP (Multidimensional-OLAP)
HOLAP (Hybrid-OLAP)
40
ROLAP (1)
Les donnes sont stockes dans une BD relationnelle
Un moteur OLAP permet de simuler le comportement dun SGBD multidimensionnel
Avantages : Facile mettre en place
Peu couteux
Evolution facile
Stockage de gros volumes
Inconvnients : Moins performant lors des phases de calculs
Exemple de moteur ROLAP : Mondrian
41
ROLAP (2)
Sources : EPFL, Lausanne
42
MOLAP (1) Les donnes sont stockes comme des matrices
plusieurs dimensions : Cube[1:m,1:n,1:p](mesure)
Accs direct aux donnes dans le cube
Avantages : Rapidit
Inconvnients : Difficile mettre en place
Formats souvent propritaires
Ne supporte pas de rts gros volumes de donnes
Exemple de moteurs MOLAP : Microsoft Analysis Services
Hyperion
43
MOLAP (2)
Sources : EPFL, Lausanne
44
HOLAP (1)
Solution hybride entre ROLAP et MOLAP
Donnes de base stockes dans un SGBD
relationnel (tables de faits et de dimensions) +
donnes agrges stockes dans un cube
Avantages / inconvnients :
Bon compromis au niveau des cots et des
performances (les requtes vont chercher les
donnes dans les tables et le cube)
45
HOLAP (2)
Sources : EPFL, Lausanne
46
Modlisation
Au niveau logique, il existe 1 modle :
en flocon (snowflake schema)
47
Modle en flocon (1)
Modle en toile + normalisation des dimensions Une table de fait et des dimensions en sous-hirarchies
Un seul niveau hirarchique par table de dimension
La table de dimension de niveau hirarchique le plus bas est relie la table de fait (elle a la granularit la plus fine)
Avantages : Normalisation des dimensions
Economie despace disque (rduction du volume)
Inconvnients : Modle plus complexe (nombreuses jointures)
Requtes moins performantes
Navigation difficile
48
Modle en flocon (2)
Sources : Lydie Soler, AgroTechParis
49
Cube (1)
Modlisation multidimensionnelle des
donnes facilitant lanalyse dune quantit selon diffrentes dimensions :
Temps,
Localisation gographique,
Les calculs sont raliss lors du
chargement ou de la mise jour du cube.
50
Cube (2)
51
Niveau physique
Cest limplantation et dpend donc du logiciel utilis.
Globalement : insuffisance des instructions SQL classiques CREATE TABLE AS : recopie physique,
reprendre intgralement lors de lvolution des sources
CREATE VIEW AS : recalcul chaque requte, temps de rponse inacceptable sur les volumes manipuls
Optimisation : indexes,
52
Ralisation dun DW
Evolution des besoins et des sources
dmarche itrative
3 techniques :
Top-down [Inmon]
Bottom-up [Kimball]
Middle-out
53
Top-Down
Concevoir tout lentrept intgralement Il faut donc connatre lavance toutes les dimensions et tous les faits.
Objectif : Livrer une solution technologiquement saine base sur des mthodes et technologies prouves des bases de donnes.
Avantages :
Offrir une architecture intgre : mthode complte
Rutilisation des donnes
Pas de redondances
Vision claire et conceptuelle des donnes de lentreprise et du travail raliser
Inconvnients :
Mthode lourde
Mthode contraignante
Ncessite du temps
54
Bottom-Up (approche inverse)
Crer les datamarts un par un puis les regrouper par des niveaux intermdiaires jusqu' obtention d'un vritable entrept.
Objectif : Livrer une solution permettant aux usager dobtenir facilement et rapidement des rponses leurs requtes danalyse
Avantages : Simple raliser,
Rsultats rapides
Efficace court terme
Inconvnients : Pas efficace long terme
Le volume de travail d'intgration pour obtenir un entrept de donnes
Risque de redondances (car ralisations indpendantes).
55
Middle-Out (approche hybride)
Concevoir intgralement l'entrept de donnes (toutes les dimensions, tous les faits, toutes les relations), puis crer des divisions plus petites et plus grables.
Avantages : Prendre le meilleur des 2 approches
Dveloppement dun modle de donnes dentreprise de manire itrative
Dveloppement dune infrastructure lourde quen cas de ncessit
Inconvnients : implique, parfois, des compromis de dcoupage (dupliquer
des dimensions identiques pour des besoins pratiques).
56
Ne pas oublier (1)
Le volume de donnes manipules
57
Ne pas oublier (2)
Voici 5 tapes importantes pour la
ralisation dun DW :
Conception
Acquisition des donnes
Dfinition des aspects techniques de la
ralisation
Dfinition des modes de restitution
Stratgies dadministration, volution, maintenance
58
1 - Conception
Dfinir la finalit du DW : Quelle activit de lentreprise faut-il piloter? Quel est le processus de lentreprise modliser? Qui sont les dcideurs?
Quels sont les faits numriques? Quest ce qui va tre mesurer?
Quelles sont les dimensions ? Comment les gestionnaires dcrivent-ils des donnes qui
rsultent du processus concern?
Dfinir le modle de donnes : Modle en toile / flocon ?
et/ou Cube?
et/ou Vues matrialises?
59
2 Acquisition des donnes
Pour lalimentation ou la mise jour de lentrept
Mise jour rgulire
Besoin dun outil pour automatiser les chargements de lentrept :
ETL (Extract, Transform, Load)
60
ETL :
Modle entit-relation (BD de production)
Modle base de dimensions et de faits
Outil : Offrant un environnement de dveloppement
Offrant des outils de gestion des oprations et de maintenance
Permettant de dcouvrir, analyser, et extraire les donnes partir de sources htrognes
Permettant de nettoyer et standardiser les donnes
Permettant de charger les donnes dans un entrept
61
Extraction :
Depuis diffrentes sources (bd, fichiers,
journaux, )
Diffrentes techniques :
Push : rgles (triggers)
Pull : requtes (queries)
Priodique et rpte
Dater ou marquer les donnes envoyes
Difficult :
Ne pas perturber les applications OLTP
62
Transformation : Etape trs importante qui garantit la cohrence et la fiabilit des donnes
Rendre cohrentes les donnes issues de diffrentes
sources Unifier les donnes
Ex. dates : MM/JJ/AA -> JJ/MM/AA
Ex. noms : D-Naiss, Naissance, Date-N -> Date-Naissance
Trier, Nettoyer
Eliminer les doubles
Jointures, projection, agrgation (SUM, AVG, )
Gestion des valeurs manquantes (NULL) (ignorer ou corriger ?)
Gestion des valeurs errones ou inconsistantes (dtection et correction)
Vrification des contraintes dintgrit (pas de violation)
Inspection manuelle de certaines donnes possible
63
64
Chargement : Insrer ou modifier les donnes dans
lentrept
Alimentation incrmentale ou totale?, offline ou online?,
frquence des chargements?, taille de lhistorique?,
Si pas de MAJ :
insertion de nouvelles donnes
Archivage des donnes anciennes
Sinon (attention en cas de gros volumes)
Priodicit parfois longue
MAJ des indexes et des rsums
65
Attention
ETL ELT
Lapproche ELT (Extraction, Loading, Transformation) gnre du code SQL natif
pour chaque moteur de BD impliqu dans le
processus sources et cibles
Cette approche profite des fonctionnalits de
chaque BD mais les requtes de
transformation doivent respecter la syntaxe
spcifique au SGBD
66
3 Aspects techniques
Contraintes
logicielles,
matrielles,
humaines,
67
4 - Restitution
= But du processus dentreposage,
= Conditionne souvent le choix de larchitecture et de la construction du DW
Toutes les analyses ncessaires doivent tre ralisables !
Types doutils de restitution : Requteurs et outils danalyse
Outils de data mining
68
5 Administration, maintenance
Toutes les stratgies mettre en place
pour ladministration, lvolution et la maintenance
Ex : frquences des rafraichissements (global
ou plus fin?)
69
Reprsentation et manipulation (1)
Le cube de donnes
est traditionnellement reprsent sous
forme de table multidimensionnelle
et manipul via diffrents oprateurs
70
Reprsentation et manipulation (2)
La table multidimensionnelle
Prsente les valeurs des mesures d'un fait en
fonction des valeurs des paramtres des dimensions
reprsentes en lignes et en colonnes tant donnes
des valeurs des autres dimensions
les lignes et les colonnes sont les axes selon lesquels le
cube est explor et chaque cellule contient la (ou les)
mesure(s) calcule(s).
correspond une tranche du cube multidimensionnel
71
Exemple :
72
Reprsentation et manipulation (3)
Oprateurs de visualisation du cube (Cube -> Cube)
Transformation de la granularit des donnes
(Forage)
Slection / projection sur les donnes du cube
Restructuration / rorientation du cube
73
Oprations de forage (lies la granularit)
Roll-up (forage vers le haut) :
Reprsente les donnes un niveau de granularit
suprieur selon la hirarchie de la dimension dsire
Agrger selon une dimension
Semaine -> Mois
Drill-down (forage vers le bas) :
Inverse du roll-up
Reprsente les donnes un niveau de granularit
infrieur
Dtailler selon une dimension
Mois -> Semaine
74
Roll-Up Drill-down sur la dimension Gographie
75
Oprations de slection / projection
Slice :
Slection
Tranche du cube obtenue par prdicats selon une
dimension
Mois = Avril 2004
Dice :
Projection selon un axe
Sorte de cumuls de slection
Projeter(Rgion, Produit)
76
Slice (Anne = 2005 )
77
Dice (Dpartement = Loir et Cher ou Gironde ,
Anne = 2007 ou 2008 )
78
Oprations de restructuration / rorientation Pivot (ou Rotate)
Tourne le cube pour visualiser une face diffrente (Rgion, Produit) -> (Rgion, Mois)
Switch (ou Permutation) Inter-change la position des membres dune dimension
Nest Imbrique des membres issus de dimensions diffrentes
Push (ou Enfoncement) Combine les membres dune dimension aux mesures (les membres
deviennent le contenu des cellules)
AddM, DelM Pour lajout et la suppression de mesures afficher
79
Pivot (Temps.Anne, Gographie.Dpartement
-> Temps.Anne, Vhicules.Couleur)
80
Nest (Vhicules.Couleur, Temps.Anne)
81
Push (Vhicules.Couleur)
82
Quelques solutions commerciales
83
Quelques solutions Open source
84
Rfrences
Data Warehouse Design: Modern
Principles and Methodologies de Matteo
Golfarelli et Stefano Rizzi, 2009, Ed:
Osborne/McGraw-Hill.
Olap Solutions: Building
Multidimensional Information Systems
de E. Thomsen, 2002, Ed: John Wiley &
Sons Inc.
85
Exercice
On considre un entrept de donnes permettant dobserver les ventes de produits dune entreprise. Le schma des tables est le suivant :
CLIENT (id-client, rgion, ville, pays, dpartement)
PRODUIT (id-prod, catgorie, cot-unitaire, fournisseur, prix-unitaire, nom-prod)
TEMPS (id-tps, mois, nom-mois, trimestre, anne)
VENTE (id-prod, id-tps, id-client, date-expdition, prix-de-vente, frais-de-livraison)
Questions
1. Indiquer quelles sont la (les) table(s) de fait et les tables de dimension de cet entrept.
2. Donner pour chaque dimension, sa (multi-) hirarchie.
3. Donner la reprsentation du schma en toile de lentrept selon la notation de Golfarelli.
4. On veut transformer ce schma en schma en flocon. Donner la nouvelle reprsentation de la table TEMPS (ajouter des paramtres / attributs, si ncessaire)