Data warehouse
Motivations et architecture
Conception de la BD support
Alimentation du DW
Exploitation OLAP
Conclusion
1. OLTP et OLAP
Reports
&
Appli. Analysis
Appli. OLAP
Appli.
ETL
DW
OLTP
DM Aides
la dcision
Introduction DW
Explosion de l OLAP
Facteurs conomiques & technologiques
18
16
14
CA en Milliards de $
12
10
8
6
4
2
0
1994 1995 1996 1997 1998 1999 2000 2001
Annes
Introduction DW
Motivations des entreprises
Besoin des entreprises
accder toutes les donnes de lentreprise
regrouper les informations dissmines
analyser et prendre des dcisions rapidement (OLAP)
Exemples d'applications concernes
Grande distribution : marketing, maintenance, ...
produits succs, modes, habitudes dachat
prfrences par secteurs gographiques
Bancaire : suivi des clients, gestion de portefeuilles
mailing cibls pour le marketing
Tlcommunications : pannes, fraudes, mobiles, ...
classification des clients, dtection fraudes, fuites de clients
Introduction DW
Datawarehouse : dfinition
Entrept de donnes
Ensemble de donnes historises variant dans le temps,
organis par sujets, consolid dans une base de donnes
unique, gr dans un environnement de stockage
particulier, aidant la prise de dcision dans lentreprise.
Trois fonctions essentielles :
collecte de donnes de bases existantes et chargement
gestion des donnes dans lentrept
analyse de donnes pour la prise de dcision
Introduction DW
Architecture type
Introduction DW
2. Concevoir le DW
Export de donnes des sources
Htrognes et varies
Fichiers, BD patrimoniales, Web,
Dfinition des vues exportes
Dfinition d'un schma global
Intgre les donnes utiles
S'appuie sur le modle relationnel
Ncessit d'une gestion de mta-donnes
Description des sources
Description des vues exportes
Description du schma global
Conception DW
Organisation par sujet
Les donnes sont organises par sujets majeurs:
Clients, produits, ventes,
Sujet = faits + dimensions
Collecte les donnes utiles sur un sujet
Exemple: ventes
Synthtise une vue simple des vnements analyser
Exemple: Ventes (N, produit, priode, magasin, )
Dtaille la vue selon les dimensions
Exemple: Produits(IDprod, description, couleur, taille, )
Magasins(IDmag, nom, ville, dept, pays)
Periodes(IDper, anne, trimestre, mois, jour)
Conception DW
Schmas en toile
Une table de faits encadres par N tables de dimensions
Produits
IDprod
Periodes Table de faits ventes description
couleur
IDper taille
anne periode
fournisseur
trimestre produit
mois Magasins
magasin
jour
IDmag
units_vendues nom
montant_ventes ville
dpartement
taxes_ventes pays
Conception DW
Schmas en flocons
Raffinement du schma toile avec des tables normalises par
dimensions
Produits Fournisseurs
IDprod IDfour
description description
couleur type
taille Adresse
Ventes IDfour
Avantages
vite les redondances
Conduit aux constellations (plusieurs tables de faits dimensions
partages)
Conception DW
Conception du schma intgr
Isoler les faits tudier
Schma des tables de faits
Dfinir les dimensions
Axes d'analyse
Normaliser les dimensions
clater en plusieurs tables lis par contraintes rfrentielles
Intgrer l'ensemble
Plusieurs tables de faits partagent quelques tables de dimension
(constellation dtoiles)
Conception DW
Bilan conception
Le datawarehouse regroupe,
historise, rsume les donnes
de l'entreprise
Le concepteur dfinit schma
exports et intgrs
des choix fondamentaux !
Ciblage essentiel !
Le datamart cest plus cibl et
plus petit.
Questions ?
Peut-on ajouter des donnes au
niveau de l entrept ?
Conception DW
3. Alimenter le DW
ETL = Extracteur+Intgrateur
Extract + Transform + Load
Extraction
Depuis les bases sources ou les 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
L'alimentation
Transformation
Accs unifis aux donnes
Unification des modles
Traduction de fichiers, BD rseaux, annuaires en tables
Evolution vers XML (modle d'change) plus riche
Unification des accs
Rowset, SQL limit, SQL complet,
Mapping plus ou moins sophistiqu
Unification des noms
Appeler pareil les mmes choses et diffremment les choses diffrentes
Application des "business rules"
Elimination des doubles
Jointure, projection, agrgation (SUM, AVG)
Cleaning des donnes
L'alimentation
Data Cleaning
Valeurs manquantes (nulles)
Ignorer le tuple
Remplacer par une valeur fixe ou par la moyenne
Valeurs errones ou inconsistantes
Gnres en prsence de bruits
Dtecter par une analyse de voisinage
cart par rapport la moyenne
Factorisation en groupes (outliers)
Remplacer par une valeur fixe ou par la moyenne
Inspection manuelle de certaines donnes possible
L'alimentation
Chargement
Pas de mise jour
Insertion de nouvelles donnes
Archivage de donnes anciennes
De gros volumes
Priodicit parfois longue
Chargement en blocs (bulk load)
Mise jour des index et rsums
Problmes
Cohabitation avec l'OLAP ?
Procdures de reprises ?
L'alimentation
4. Grer l'entrept
Base relationnelle
Support de larges volumes (qq 100 gigas qq tras)
Historisation des donnes (fentres)
Importance des agrgats et chargements en blocs
Base spcialise
Base multidimensionnelle
Combinaison des deux
Machine support parallle
Multiprocesseurs
Mmoire partage, cluster, bus partag, etc.
Le multidimensionnel
Le multidimensionnel
Dimensions: Indicateurs:
Temps Nombre dunits
Gographie vendues
Produits CA
Clients Cot
Canaux de ventes..... Marge.....
Le multidimensionnel
Cube de donnes
0
10
Date
2002 350 600 300
NumFou
0
15
2001 300 500 400
0
12
NumPro 2000 250 200 F2
F1
P1 P2 P3
Le multidimensionnel
Le data cube et les dimensions
Axe d'analyse: La gographie
(Pays - rgion - ville)
Variables analyses:
Nb units, CA, marge...
Axe d'analyse: Les produits
(classe, produit)
Axes d'analyse: dimensions
Axe d'analyse: Le temps Variables analyses: indicateu
(Anne, trimestre, mois, semaine)
Le multidimensionnel
La granularit des dimensions
Temps Jours Mois Trimestres Annes
Gographie Villes Rgions Pays
Produits Numros Types Gammes Marques
Le multidimensionnel
Exemple
Montant des ventes fonction de (Mois, rgion, Produit)
Granularit des dimensions :
on
gi
Type Rgion Anne
R
Catgorie Pays Trimestre
Produit
Produit Ville Mois Semaine
Magasin Jour
Mois
Le multidimensionnel
La navigation multidimensionnelle
Projection en 2 dimensions Coupe d un cube
Produits Produits
pour une rgion donne
CA CA
Rgion
Temps en semaines
Rduction selon 1 dimension
Produits Zoom selon une dimension
France
CA Est Sud Ouest
Temps en mois Lyon Marseille Nice
Le multidimensionnel
L'algbre des cubes
Roll up :
Agrger selon une dimension
Semaine Mois
Drill down :
Dtailler selon une dimension
Mois Semaine
Slice et Dice:
Slection et projection selon 1 axe
Mois = 04-2003 ; Projeter(Rgion, Produit)
Pivot :
Tourne le cube pour visualiser une face
(Rgion,Produit)(Rgion, Mois)
Le multidimensionnel
Les vues d'un cube
Partant d'un cube 3D, il est possible d'agrger selon une
dimension tournante
On obtient un treillis de vues (calculable en SQL)
NumPro, NumFou, Date
NumPro, NumFouNumPro, DateNumFou, Date
NumPro NumFou Date
Le multidimensionnel
Extension de SQL
ROLLUP: CUBE:
SELECT <column list> SELECT <column list>
FROM <table> FROM <table>
GROUP BY GROUP BY
ROLLUP(column_list); CUBE(column_list);
Cre des agrgats
Cre 2n combinaisons
n+1 niveaux, n tant le
nombre de colonne de d'agrgats, n tant le
groupage nombre de colonne de
n, n-1, n-2,0 colonnes groupage
Implmentation
Exemple CUBE
Animal Lieu Quantite Animal Lieu Quantite
Chien Paris 12 Chat Paris 18
Chat Paris 18 Chat Naples 9
Tortue Rome 4 Chat 27
Chien Rome 14 Chien Paris 12
Chat Naples 9 Chien Naples 5
Chien Naples 5 Chien Rome 14
Tortue Naples 1 Chien 31
Tortue Naples 1
SELECT Animal, Lieu, Tortue Rome 4
SUM(Quantite) as Quantite Tortue 5
63
FROM Animaux
Paris 30
GROUP BY Animal, Magasin Naples 15
WITH CUBE Rome 18
Implmentation
Exemple ROLLUP
Animal Lieu Quantite Animal Lieu Quantite
Chien Paris 12 Chat Paris 18
Chat Paris 18 Chat Naples 9
Tortue Rome 4
Chat 27
Chien Rome 14
Chat Naples 9
Chien Paris 12
Chien Naples 5 Chien Naples 5
Tortue Naples 1 Chien Rome 14
Chien 31
Tortue Naples 1
SELECT Animal, Lieu,
Tortue Rome 4
SUM(Quantite) as Quantite Tortue 5
FROM Animaux 63
GROUP BY Animal,Magasin
WITH ROLLUP
Implmentation
Quelques outils OLAP
Oracle Cognos
OLAP API = Datacube Impromptu = Reporting
Express = Analyse Powerplay = Datacube
Report = Reporting Query = Requtage
Business Object Hyperion
BusinessQuery = Requtage ESS Base = Base MOLAP
BusinessObject = Requtage ESS Analysis= Analyse +
+ Analyse + Reporting Datacube
WebIntelligence = Datacube
Implmentation
6. Le march du BI
BI= Business Intelligence
Data PRO Users Survey
Conclusion
Les Data Trucs
Datawarehouse
entrept des donnes historises de l'entreprise
Datamart
magasin de donnes cibl sur un sujet prcis
Datamining
exploration des donnes afin de dcouvrir des connaissances
Datacube
cube de prsentation d'units selon 3 dimensions
Datawebhouse
entrept des donnes collectes sur le web
Conclusion