Vous êtes sur la page 1sur 31

Data warehouse

Motivations et architecture
Conception de la BD support
Alimentation du DW
Exploitation OLAP
Conclusion

1. OLTP et OLAP
Appli.
Appli.
Appli.

OLTP

OLAP

ETL

DW

DM

Introduction DW

Reports
&
Analysis

Aides
la dcision

Explosion de l OLAP
Facteurs conomiques & technologiques
18

CA en Milliards de $

16
14
12
10
8
6
4
2
0
1994

1995

1996

1997

1998

Annes

Introduction DW

1999

2000

2001

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, ...

Bancaire : suivi des clients, gestion de portefeuilles

produits succs, modes, habitudes dachat


prfrences par secteurs gographiques
mailing cibls pour le marketing

Tlcommunications : pannes, fraudes, mobiles, ...

Introduction DW

classification des clients, dtection fraudes, fuites de clients

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

Conception DW

Description des sources


Description des vues exportes
Description du schma global

Organisation par sujet


Les donnes sont organises par sujets majeurs:

Clients, produits, ventes,

Sujet = faits + dimensions

Collecte les donnes utiles sur un sujet

Synthtise une vue simple des vnements analyser

Exemple: Ventes (N, produit, priode, magasin, )

Dtaille la vue selon les dimensions

Conception DW

Exemple: ventes

Exemple: Produits(IDprod, description, couleur, taille, )


Magasins(IDmag, nom, ville, dept, pays)
Periodes(IDper, anne, trimestre, mois, jour)

Schmas en toile
Une table de faits encadres par N tables de dimensions
Produits
Periodes
IDper
anne
trimestre
mois
jour

Table de faits ventes


periode
produit
magasin
units_vendues
montant_ventes
taxes_ventes

Conception DW

IDprod
description
couleur
taille
fournisseur

Magasins
IDmag
nom
ville
dpartement
pays

Schmas en flocons
Raffinement du schma toile avec des tables normalises par
dimensions
Produits
Fournisseurs

Ventes

IDprod
description
couleur
taille
IDfour

IDfour
description
type
Adresse

Avantages

Conception DW

vite les redondances


Conduit aux constellations (plusieurs tables de faits dimensions
partages)

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 ?

Conception DW

Peut-on ajouter des donnes au


niveau de l entrept ?

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

Difficult

L'alimentation

Dater ou marquer les donnes envoyes


Ne pas perturber les applications OLTP

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

L'alimentation

Cohabitation avec l'OLAP ?


Procdures de reprises ?

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:

Temps
Gographie
Produits
Clients
Canaux de ventes.....

Le multidimensionnel

Indicateurs:

Nombre dunits
vendues
CA
Cot
Marge.....

300

15

NumFou

2002 350 600

12

2001 300 500 400

Date

10

Cube de donnes

NumPro

2000 250

200

F2
F1

P1
Le multidimensionnel

P2

P3

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

Gographie

Produits
Le multidimensionnel

Villes

Numros

Mois

Trimestres

Rgions

Types

Annes

Pays

Gammes

Marques

Exemple
Montant des ventes fonction de (Mois, rgion, Produit)
R
gi
on

Granularit des dimensions :

Produit

Type

Rgion

Anne

Catgorie Pays

Trimestre

Produit

Mois

Ville

Magasin

Mois

Le multidimensionnel

Semaine
Jour

La navigation multidimensionnelle
Projection en 2 dimensions
Produits

Coupe d un cube
Produits
pour une rgion donne

CA

CA
Rgion
Temps en semaines

Rduction selon 1 dimension


Zoom selon une dimension
Produits
France

CA
Temps en mois

Le multidimensionnel

Est
Lyon

Sud

Ouest

Marseille

Nice

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
Le multidimensionnel

NumFou

Date

Extension de SQL
ROLLUP:

SELECT <column list>


FROM <table>
GROUP BY
ROLLUP(column_list);

Cre des agrgats


n+1 niveaux, n tant le
nombre de colonne de
groupage

Implmentation

CUBE:

SELECT <column list>


FROM <table>
GROUP BY
CUBE(column_list);

Cre 2n combinaisons
d'agrgats, n tant le
nombre de colonne de
groupage
n, n-1, n-2,0 colonnes

Exemple CUBE
Animal
Chien
Chat
Tortue
Chien
Chat
Chien
Tortue

Lieu
Paris
Paris
Rome
Rome
Naples
Naples
Naples

Quantite
12
18
4
14
9
5
1

SELECT Animal, Lieu,


SUM(Quantite) as Quantite
FROM Animaux
GROUP BY Animal, Magasin
WITH CUBE
Implmentation

Animal
Chat
Chat
Chat
Chien
Chien
Chien
Chien
Tortue
Tortue
Tortue

Lieu
Paris
Naples

Paris
Naples
Rome

Naples
Rome

Paris
Naples
Rome

Quantite
18
9
27
12
5
14
31
1
4
5
63
30
15
18

Exemple 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

SELECT Animal, Lieu,


SUM(Quantite) as Quantite
FROM Animaux
GROUP BY Animal,Magasin
WITH ROLLUP
Implmentation

Animal
Chat
Chat
Chat
Chien
Chien
Chien
Chien
Tortue
Tortue
Tortue

Lieu
Paris
Naples

Paris
Naples
Rome

Naples
Rome

Quantite
18
9
27
12
5
14
31
1
4
5
63

Quelques outils OLAP


Oracle

OLAP API = Datacube


Express = Analyse
Report = Reporting

Business Object

Implmentation

BusinessQuery = Requtage
BusinessObject = Requtage
+ Analyse + Reporting
WebIntelligence = Datacube

Cognos

Impromptu = Reporting
Powerplay = Datacube
Query = Requtage

Hyperion

ESS Base = Base MOLAP


ESS Analysis= Analyse +
Datacube

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

Conclusion

entrept des donnes collectes sur le web