Vous êtes sur la page 1sur 11

Entrepts de donnes et analyse en ligne

OLAP (On-Line Analytical Processing)

P la n
1. Introduction et problmatique de l!OLAP
! ! ! ! Entrept et OLAP OLAP versus OLTP Exemple d!analyses d!un entrept Problmatique de l!OPAL

(3)
2010 Bernard ESPINASSE
Professeur l'Universit d'Aix-Marseille

2. Oprations lmentaires OLAP


! ! ! ! ! ! ! Catgories d!oprations OLAP Oprations de restructuration : rotate, switch, split, nest, push, pull Oprations de granularit : roll-up, drill-down Oprations ensemblistes : slide, dice, jointure(drill-across), data cube Modles et langages pour l!OLAP Les rgles de Codd pour les produits OLAP Problmatique de la modlisation logique d!un ED

Introduction et problmatique de l!OLAP Oprations lmentaires OLAP

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

Bibliographie
Ouvrages : ! Benitez-Guerrero E., C. Collet, M. Adiba, Entrepts de donnes : Synthse et analyse , Rapport de recherche IMAG NIMAG-RR - 99-1017-I, 1999. ! Franco J-M., Le Data Warehouse (Le Data Mining) . Ed. Eyrolles, Paris, 1997. ISBN 2-212-08956-2 ! Gardarin G., Internet/intranet et bases de donnes , Ed. Eyrolles, 1999, ISBN 2-212-09069-2. ! Han J., Kamber M., Data Mining: Concepts and Techniques , Morgan Kaufmann Publishers, 2004. ! Kimball R., M. Ross, Entrepts de donnes : guide pratique de modlisation dimensionnelle , 2dition, Ed. Vuibert, 2003, ISBN : 2-7117-4811-1. ! Cours : ! Cours de F. Bentayeb, O. Boussaid, J. Darmont, S. Rabaseda, Univ. Lyon 2 ! Cours de P. Marcel, Univ. de Tours ! Cours de G. Gardarin, Univ. de Versailles ! Cours de M. Adiba et M.C. Fauvet, Univ. Grenoble !
OLAP - Bernard ESPINASSE

1 Introduction et problmatique de l!OLAP


! Entrept et OLAP ! OLAP versus OLTP ! Exemple d!analyses d!un entrept ! Problmatique de l!OPAL

OLAP - Bernard ESPINASSE

Entrept et OLAP
! un entrept de donnes (ED) contient des donnes nombreuses, homognes,

OLAP versus OLTP


OLTP (On Line Transaction Processing) :
! Les applications OLTP sont des applications oprationnelles (de production), constitues de traitements factuels concernant les produits, les ressources ou les clients de l!entreprise ! Les requtes OLTP sont excutes sur les donnes sources

exploitables, multidimensionnelles, consolides


!

comment exploiter ces donnes des fins d!analyse ?


! traditionnellement : les requtes OLTP sont excutes sur les donnes sources ! l!ED est mis jour chaque nuit ! les requtes OLAP sont excutes sur les donnes de l!ED

OLAP (On Line Analytical Processing) :


! Les applications OLAP sont des applications d!aide la dcision ! Elles sont constitues de traitements ensemblistes rduisant une population une valeur ou un comportement. ! Les requtes OLAP sont excutes sur l!ED

analyser les donnes d!un ED c!est :


! ! ! ! ! ! rsumer consolider observer appliquer des formules statistiques synthtiser des donnes selon plusieurs dimensions

Le terme OLAP dsigne :


! L!ensemble des moyens et techniques mettre en uvre pour raliser des systmes d!aide la dcision efficaces ! Des traitements semi-automatiques visant interroger, visualiser et synthtiser les donnes, traitements dfinis et mis en uvre par les dcideurs ! On-Line :signifie que le processus se fait en ligne, l'utilisateur doit avoir la rponse de faon quasi-instantane

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

OLTP versus OLAP


Caractristiques Conception Donnes
Orientation Conception Granularit Nature Actualisation

Exemple d!entrept
Soit l!entrept en schma toile suivant : OLTP
Transaction Entit-Relation Dtail Relationnelle

OLAP
Analyse Etoile/flocon Rsumes, agrges Multidimentionnelle Historises, recalcules 100 Go/To Requte complexe Lecture Millions Temps de rponse Analyste/dcideur Centaines 7

! ! ! !

ventes(codeProduit, date, vendeur, montant) produits(codeProduit, modle, couleur) vendeurs(nom, ville, dpartement, tat, pays) temps(jour, semaine, mois, trimestre, anne)

(table faits) (table dimension) (table dimension) (table dimension)

Traitements

Utilisateurs

Actualises, mises jour Taille 100 Mo/Go Unit de travail Transaction simple Accs Lecture/criture Nb de tuples accds Dizaines Mtrique Dbit de transactions Utilisateur Agent oprationnel Nombre d!utilisateurs Milliers

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

Exemple d!analyses d!un entrept


Hirarchies :

Besoins d!analyse
Analyse des ventes de divers produits
Exemple de questions associes : ! Quels sont les produits dont les ventes ont chut l!an dernier?

Selon la notation de Golfarelli (1998) :

! Quelles sont les quinze meilleures ventes par magasin et par semaine durant le premier trimestre de l!anne 2001? ! Quelle est la tendance des chiffres d!affaire (CA) par magasin depuis 3 ans? ! Quelles prvisions peut-on faire sur les ventes d!une catgorie de produits dans les 6 mois venir ?

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

10

Exemple d!analyse (1)


Analyse des ventes de divers produits :
SELECT modele, SUM(montant) FROM ventes, produits WHERE ventes.codeProduit = produits.codeProduit GROUP BY modele ;

Exemple d!analyse (2)


Les ventes de vis sont plus faibles que prvu... quelles couleurs sont responsables ? SELECT couleur, SUM(montant) FROM ventes, produits WHERE ventes.codeProduit = produits.codeProduit AND modele = vis GROUP BY couleur ;

OLAP - Bernard ESPINASSE

11

OLAP - Bernard ESPINASSE

12

Exemple d!analyse (3)


Les ventes de vis sont plus faibles que prvu... quelles annes sont responsables ? SELECT couleur, annees, SUM(montant) FROM ventes, produits, temps WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND modele = vis GROUP BY couleur, annees ;

Exemple d!analyse (4)


Les ventes de vis sont plus faibles que prvu... Quels trimestres sont responsables ? SELECT couleur, trimestre, SUM(montant) FROM ventes, produits, temps WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND modele = vis GROUP BY couleur, trimestre ;

OLAP - Bernard ESPINASSE

13

OLAP - Bernard ESPINASSE

14

Exemple d!analyse (5)


Les ventes de vis sont plus faibles que prvu... Quels vendeurs sont responsables ? SELECT vendeur, somme FROM( SELECT trimestre, vendeur, SUM(montant) as somme FROM ventes, produits, temps, vendeur WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND ventes.vendeur = vendeurs.nom AND modele = vis GROUP BY trimestre, vendeur) WHERE trimestre = jui-sep;

Exemple de traitements (6)


Quels sont les rsultats cumuls des vendeurs par mois ? SELECT vendeur, mois, CSUM(resultat,vendeur,mois) as cumul FROM ( SELECT vendeur, mois, Sum(montant) as resultat FROM ventes, produits, temps WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND modele = vis AND couleur = rose GROUP BY mois, vendeurs) ORDER BY mois ; Quelle est l!volution de la moyenne des ventes pour une fentre de 2 jours ? SELECT date, montant, MAVG(montant,2,date) as moy FROM ventes, temps WHERE ventes.date = temps.jour AND annee = 2001 ORDER BY date ;

OLAP - Bernard ESPINASSE

15

OLAP - Bernard ESPINASSE

16

Problmatique de l!OLAP
! Supporter des oprations tableur sur des BD de plusieurs Go (Chaudhuri et Dayal 97) ! Besoins spcifiques :
! langages de manipulation ! organisation des donnes ! fonctions d!agrgation !

De la table au cube
De la table Table Ventes :
VENTES pices crous clous vis crous crous total Rgions est est ouest est total total Annes 1999 1997 1998 total total total quantits 50 100 50 220 390 1200

au cube Cube Ventes :

! Organisation des donnes proche des abstractions de l!analyste :


! selon plusieurs dimensions ! selon diffrents niveaux de dtail ! en ensemble ! donne = point dans l!espace associ des valeurs

(pice, rgion, anne) ! quantit

OLAP - Bernard ESPINASSE

17

OLAP - Bernard ESPINASSE

18

Hirarchies de granularit

Terminologie autour du cube

Terme Cube Cellule Rfrence mesure Membre/paramtre dimension niveau

Valeur Ventes ecrous, est, 1997, 100 ecrous, est, 1997 100 est lieu rgion

OLAP - Bernard ESPINASSE

19

OLAP - Bernard ESPINASSE

20

Catgories d!oprations OLAP


3 catgories d!oprations lmentaires :

2 Oprations lmentaires OLAP


! Catgories d!oprations OLAP ! Oprations de restructuration : rotate, switch, split, nest, push, pull ! Oprations de granularit : roll-up, drill-down ! Oprations ensemblistes : slide, dice, jointure(drill-across), data cube ! Modles et langages pour l!OLAP ! Les rgles de Codd pour les produits OLAP ! Problmatique de la modlisation logique d!un ED

Restructuration : concerne la reprsentation, permet un changement de points de vue


selon diffrentes dimensions : oprations lies la structure, manipulation et visualisation du cube : ! Rotate/pivot ! Switch ! Split, nest, push, pull

Granularit : concerne un changement de niveau de dtail : oprations lies au niveau de


granularit des donnes : ! roll-up, ! drill-down

Ensembliste : concerne l!extraction et l!OLTP classique :


! ! ! ! slice, dice selection projection jointure (drill-across)

OLAP - Bernard ESPINASSE

21

OLAP - Bernard ESPINASSE

22

1 - Oprations de restructuration
Permettent un changement de points de vue, une rorientation selon diffrentes dimensions de la vue multidimensionnelle Oprations lies la structure, la manipulation et la visualisation du cube :
! rorientation : ! slection graphique ! flexibilit du schma ! membres complexes ! symtrie membres/mesures ! manipulations : ! bijectives ! relatives ! niveau d!information constant Oprations de restructuration : ! rotate/pivot ! switch ! split, nest, push, pull

1 - Oprations de restructuration
Rotate ou Pivot :
! effectuer un cube une rotation autour d!un de ses trois axes passant par le centre de 2 faces opposes, de faon prsenter un ensemble de faces diffrent ! une sorte de slection de faces et non des membres.

Switch ou permutation :
! consiste inter-changer la position des membres d!une dimension.

Split ou division :
! consiste prsenter chaque tranche du cube et de passer d!une prsentation tridimensionnelle d!un cube sa prsentation sous la forme d!un ensemble de tables ! sa gnralisation permet de dcouper un hypercube de dimension 4 en cubes.

Nest ou l!embotement :
! imbrication des membres partir du cube. ! Permet de grouper sur une mme reprsentation bi-dimensionnelle toutes les informations (mesures et membres) d!un cube quelque soit le nombre de ses dimensions.

Push ou l!enfoncement :
! consiste combiner les membres d!une dimension aux mesures du cube, i.e. de faire passer des membres comme contenu de cellules. 23 24

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

Oprations de restructuration : rotate/pivot


Rotate/pivot : effectue au cube une rotation autour d!un de ses 3 axes passant par le centre
de 2 faces opposes, de faon prsenter un ensemble de faces diffrent (slection de faces) Le cube a pivote autour de l!axe/dimension rgions

Oprations de restructuration : switch


Switch ou permutation : consiste interchanger la position des membres d!une
dimension :

la visualisation rsultante est souvent 2D :

Ici sont interchangs les membres nord et sud de la dimension rgions la visualisation rsultante est souvent 2D :

OLAP - Bernard ESPINASSE

25

OLAP - Bernard ESPINASSE

26

Oprations de restructuration : split


Split ou division : consiste prsenter chaque tranche du cube et de passer de sa
prsentation tridimensionnelle sa prsentation sous la forme d!un ensemble de tables.

Oprations de restructuration : nest


Nest ou l!embotement: permet d!imbriquer des membres partir du cube. L!intrt de
cette est qu!elle permet de grouper sur une mme reprsentation bi-dimensionnelle toutes les informations (mesures et membres) d!un cube quelque soit le nombre de ses dimensions. nest(pices, rgion) :

ici un split(region) du cube Ventes conduit aux 4 tables suivantes :

OLAP - Bernard ESPINASSE

27

OLAP - Bernard ESPINASSE

28

Oprations de restructuration : push


Push ou l!enfoncement: consiste combiner les membres d!une dimension aux mesures
du cube, i.e. de faire passer des membres comme contenu de cellules. push(anne) :

Visualisation 1

OLAP - Bernard ESPINASSE

29

OLAP - Bernard ESPINASSE

30

Visualisation 2

1 - Oprations de granularit
Granularit :
! hirarchisation de l!information en diffrents niveaux de dtails appels niveaux de granularit. ! un niveau est un ensemble nomm de membres ! le niveau le plus bas est celui de l!entrept Des oprations d!agrgation successives sur ces donnes permettent de nouveaux points de vue de moins en moins dtaills de l!information et constituent autant de niveaux suprieurs : ! navigation entre les niveaux : ! groupements ! agrgation ! manipulations : ! relatives ! ncessitant des informations non contenues dans le cube de dpart

OLAP - Bernard ESPINASSE

31

OLAP - Bernard ESPINASSE

32

1 - Oprations de granularit
Oprations de granularit : ! roll-up, ! drill-down
Les oprations agissant sur la granularit d!observation des donnes caractrisent la hirarchie de navigation entre les diffrents niveaux.

Oprations de granularit : roll-up


Roll-up ou forage vers le haut: consiste reprsenter les donnes du cube un niveau
de granularit suprieur conformment la hirarchie dfinie sur la dimension. Soit :

Roll-up ou forage vers le haut :


! consiste reprsenter les donnes du cube un niveau de granularit suprieur conformment la hirarchie dfinie sur la dimension. ! une fonction d!agrgation (somme, moyenne, etc) en paramtre de l!opration indique comment sont calculs les valeurs du niveau suprieur partir de celles du niveau infrieur

Drill-down ou forage vers le bas :


! consiste reprsenter les donnes du cube un niveau de granularit de niveau infrieur, donc sous une forme plus dtaille (selon la hirarchie dfinie de la dimension) 33 34

OLAP - Bernard ESPINASSE

OLAP - Bernard ESPINASSE

Oprations de granularit : roll-up


roll-up(annee) : Ventes 97-99

Oprations de granularit : roll-up/cube


l!opration CUBE (reprsentation cubique gnralise du roll-up) consiste calculer tous
les agrgats suivant tous les niveaux de toutes les dimensions : ! L!union de plusieurs group-by donne naissance un cube :
Select ALL, ALL, ALL, Sum(quantit) From VENTES UNION Select pices, ALL, ALL, Sum(quantit) From VENTES Group-By pices ; UNION Select pices, annes, ALL, Sum(quantit) FromVENTES Group-Bypices, annes; UNION Select pices, annes, rgions, Sum(quantit) From VENTES Group-By pices, annes, rgions;

roll-up(annees, pieces) : la visualisation est souvent 2D :

Remarque : une fonction d!agrgation (somme, moyenne, ) en paramtre de l!opration indique comment sont calculs les valeurs du niveau suprieur partir de celles du niveau infrieur
OLAP - Bernard ESPINASSE

! L!oprateur cube est une gnralisation N-dimensionnelle de fonctions d!agrgations simples. C!est un oprateur relationnel : Select pices, annes, rgions, Sum(quantit Ventes) FromVENTES Group-By CUBE pices, annes, rgions;

35

OLAP - Bernard ESPINASSE

36

Oprations de granularit : drill-down (1)


Drill-down ou forage vers le bas : consiste reprsenter les donnes du cube un
niveau de granularit de niveau infrieur, donc sous une forme plus dtaille. ! opration rciproque de roll-up, drill-down permet d!obtenir des dtails sur la signification d!un rsultat en affinant une dimension ou en ajoutant une dimension ! opration coteuse d!o son intgration dans le systme Exemple : un chiffre d!affaire suspect pour un produit donn : ! ajouter la dimension temps : envisager l!effet week-end ! ajouter la dimension magasin: envisager l!effet gographique

Oprations de granularit : drill-down (2)


Drill-down du niveau des rgions au niveau villes : Drill-down(regions) :

OLAP - Bernard ESPINASSE

37

OLAP - Bernard ESPINASSE

38

Oprations ensemblistes
Objet des oprations ensemblistes :
! concernent l!extraction ! manipulations classiques ! extension plusieurs dimensions

Oprations ensemblistes : slide et dice


slide : correspond une projection selon
une dimension du cube :

dice : correspond une slection du cube :

Oprations OLAP ensemblistes : ! slice et dice (slection et projection) ! drill-across (jointure)

OLAP - Bernard ESPINASSE

39

OLAP - Bernard ESPINASSE

40

Oprations ensemblistes : slide (projection)


projection

Oprations ensemblistes : dice (slection)


Selection 1 vente # 50 Slection 2 (regions = nord ou regions = sud) et (pieces = clous ou pieces = ecrous) et (annees = 1998 ou annes = 1999)

" piece, region :

OLAP - Bernard ESPINASSE

41

OLAP - Bernard ESPINASSE

42

Oprations ensemblistes : jointure (drill-across)

Oprations ensemblistes : problme des oprateurs binaires

quelle mesure pour les vis ?

Exemple de traitements
! quels sont les 10 produits les plus performants ? ! calculer la moyenne glissante des ventes par rgion et par pices, pour une fentre de 2 annes ! calculer les prvisions de ventes pour les annes 2000 `a 2002 avec comme hypothse un accroissement annuels des ventes de 10%

OLAP - Bernard ESPINASSE

43

OLAP - Bernard ESPINASSE

44