Module 4 :
OLAP
▪ Concepts de base
▪ Opérations sur les cubes
▪ Architecture OLAP
▪ Stockage physique
1
Concepts de base
EN TREP ÔT ET OLAP
OLAP VERSU S OLTP
EXEMP LE D 'AN ALYSES D 'U N EN TREP ÔT
I. BEN TARBOUT
2
Entrepôt et OLAP
▪ Un entrepôt de données (ED) contient des données nombreuses, homogènes, exploitables,
multidimensionnelles, consolidées
▪ Comment exploiter ces données à des fins d'analyse ?
▪ Traditionnellement : les requêtes OLTP sont exécutées sur les données sources
▪ LʼED est mis à jour chaque nuit
▪ Les requêtes OLAP sont exécutées sur les données de lʼED
▪ Analyser les données dʼun ED c'est :
▪ résumer
▪ consolider
▪ observer
▪ appliquer des formules statistiques
▪ synthétiser des données selon plusieurs dimensions
▪ …
I.BEN TARBOUT
3
OLAP versus OLTP
▪ OLTP (On Line Transaction Processing) :
▪ Les applications OLTP sont des applications opérationnelles (de production), constituées de traitements
factuels concernant les produits, les ressources ou les clients de l'entreprise
▪ Les requêtes OLTP sont exécutées sur les données sources
▪ OLAP (On Line Analytical Processing) :
▪ Les applications OLAP sont des applications d'aide à la décision
▪ Elles sont constituées de traitements ensemblistes réduisant une population à une valeur/un comportement.
▪ Les requêtes OLAP sont exécutées sur lʼED
▪ Le terme OLAP désigne :
▪ L'ensemble des moyens et techniques à mettre en œuvre pour réaliser des SIAD efficaces
▪ Des traitements semi-automatiques visant à interroger, visualiser et synthétiser les données, traitements
définis et mis en œuvre par les décideurs
▪ On-Line :signifie que le processus se fait en ligne, l'utilisateur doit avoir la réponse de façon quasi-instantanée
I.BEN TARBOUT
4
OLAP versus OLTP (suite)
I.BEN TARBOUT
5
Exemple de cas d’analyse
▪ ventes(codeProduit, date, vendeur, montant) (table faits)
▪ produits(codeProduit, modèle, couleur) (table dimension)
▪ vendeurs(nom, ville, département, état, pays) (table dimension)
▪ temps(jour, semaine, mois, trimestre, année) (table dimension)
I.BEN TARBOUT
6
Exemple d’analyse d’un entrepôt
▪ Hiérarchies:
▪ Selon la notation de Golfarelli (1998) :
I.BEN TARBOUT
7
Besoins d’analyse
Analyse des ventes de divers produits - Exemple de questions associées :
▪ Quels sont les produits dont les ventes ont chuté l'an dernier?
▪ Quelles sont les quinze meilleures ventes par magasin et par semaine
durant le premier trimestre de l'année 2001?
▪ Quelle est la tendance des chiffres d'affaires (CA) par magasin depuis 3
ans?
▪ Quelles prévisions peut-on faire sur les ventes d’une catégorie de
produits dans les 6 mois à venir ?
I.BEN TARBOUT
8
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 ;
I.BEN TARBOUT
9
Exemple d’analyse 2
▪ Les ventes de vis sont plus faibles que prévu... quelles couleurs sont responsables ?
SELECT couleur, SUM(montant)
FROM ventes, produits
WHERE ventes.codeProduit = produits.codeProduit AND modele = “vis” GROUP BY couleur ;
Publicité
I.BEN TARBOUT
10
Exemple d’analyse 3
▪ Les ventes de vis sont plus faibles que prévu... quelles années 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 ;
I.BEN TARBOUT
11
Exemple d’analyse 4
▪ Les ventes de vis sont plus faibles que prévu... 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 ;
I.BEN TARBOUT
12
Exemple d’analyse 5
▪ Les ventes de vis sont plus faibles que prévu... 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”;
I.BEN TARBOUT
13
Exemple d’analyse 6
▪ Quels sont les résultats cumulés 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 fenêtre 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 ;
I.BEN TARBOUT
14
Problématique de l’OLAP
▪ Supporter des opérations « tableur » sur des BD de plusieurs Go
▪ Besoins spécifiques :
▪ langages de manipulation
▪ organisation des données
▪ fonctions d'agrégation
▪ …
▪ Organisation des données proche des abstractions de l'analyste :
▪ selon plusieurs dimensions
▪ selon différents niveaux de détail
▪ en ensemble
▪ donnée = point dans l'espace associé à des valeurs
I.BEN TARBOUT
15
De la table au Cube
I.BEN TARBOUT
16
Hiérarchie de granularité
I.BEN TARBOUT
17
Terminologies autour du cube (exemple)
I.BEN TARBOUT
18
Terminologies autour du cube (suite)
▪ Un cube représente un ensemble de mesures organisées selon un ensemble de
dimensions.
▪ Une dimension est un axe d’analyse c’est-à-dire une base sur laquelle seront
analysées les données. Ex : le temps.
▪ Une dimension possède des instances, également appelées membres.
▪ Chaque membre appartient à un niveau hiérarchique.
Il s’agit du principe de
granularité. Ex : «2009» est membre de la dimension «temps» du niveau hiérarchique
« année ».
▪ Une mesure est l’élément de donnée que l’on analysera. Ex : nombre de ventes.
▪ Un fait représente la valeur d’une mesure selon un membre de chacune des
dimensions.
I.BEN TARBOUT
19
Opérations
élémentaires OLAP
C AT É G O R I E S D ' O P É R AT I O N S O L A P
Publicité
O P É R AT I O N S D E R E S T R U C T U R AT I O N : R O TAT E , S W I T C H , S P L I T, N E S T, P U S H , P U L L
O P É R AT I O N S D E G R A N U L A R I T É : R O L L - U P, D R I L L - D O W N
O P É R AT I O N S E N S E M B L I S T E S : S L I D E , D I C E , J O I N T U R E ( D R I L L - A C R O S S ) , D ATA C U B E
M O D È L E S E T L A N G A G E S P O U R L ʼ O L A P
L E S R È G L E S D E C O D D P O U R L E S P R O D U I T S O L A P
P R O B L É M AT I Q U E D E L A M O D É L I S AT I O N LO G I Q U E D ' U N E D
I. BEN TARBOUT
20
Terminologies autour du cube
3 catégories d'opérations élémentaires :
▪ Restructuration : concerne la représentation, permet un changement de points de vue selon
différentes dimensions-opérations liées à la structure, manipulation et visualisation du cube :
▪ Rotate/pivot
▪ Switch
▪ Split, nest, push, pull
▪ Granularité : concerne un changement de niveau de détail; opérations liées au niveau de
granularité des données :
▪ roll-up,
▪ drill-down
▪ Ensembliste : concerne lʼextraction et lʼOLTP classique :
▪ slice, dice
▪ selection
▪ projection
▪ jointure (drill-across)
I.BEN TARBOUT
21
Opérations de restructuration
▪ Permettent un changement de points de vue, une réorientation selon
différentes dimensions de la vue multidimensionnelle
▪ Opérations liées à la structure, la manipulation et la visualisation du cube
▪ Opérations de restructuration :
▪ rotate/pivot,
▪ switch,
▪ split, nest, push, pull
I.BEN TARBOUT
22
Opérations de restructuration (suite)
▪ Rotate ou Pivot :
▪ effectuer à un cube une rotation autour dʼun de ses trois axes passant par le centre de 2 faces opposées, de
façon à présenter un ensemble de faces différent
▪ une sorte de sélection de faces et non des membres.
▪ Switch ou permutation : consiste à inter-changer la position des membres dʼune dimension.
▪ Split ou division :
▪ consiste à présenter chaque tranche du cube et de passer dʼune présentation tridimensionnelle d'un cube à sa
présentation sous la forme dʼun ensemble de tables
▪ sa généralisation permet de découper un hypercube de dimension 4 en cubes.
▪ Nest ou l'emboîtement : imbrication des membres à partir du cube; permet de grouper sur une
même représentation bidimensionnelle 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
I.BEN TARBOUT
23
Opérations 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 opposées, de façon à présenter un ensemble de faces différent
(sélection de faces)
▪ la visualisation résultante est souvent 2D :
I.BEN TARBOUT
24
Opérations de restructuration (Switch)
▪ Switch ou permutation : consiste à interchanger la position des membres dʼune
dimension :
▪ la visualisation résultante est souvent 2D :
I.BEN TARBOUT
25
Opérations de restructuration (Split)
▪ Split ou division : consiste à présenter chaque tranche du cube et de passer de sa
présentation tridimensionnelle à sa présentation sous la forme dʼun ensemble de
tables.
▪ ici un split(region) du cube Ventes conduit aux 4 tables
suivantes :
I.BEN TARBOUT
26
Opérations de restructuration (Nest)
▪ Nest ou l'emboîtement: permet d'imbriquer des membres à partir du cube. L'intérêt
de cette est qu'elle permet de grouper
sur une même représentation
bidimensionnelle toutes les informations (mesures et membres) dʼun cube quelque
soit le nombre de ses dimensions. nest(pièces, région) :
I.BEN TARBOUT
27
Opérations de restructuration (Push)
Publicité
▪ 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.
I.BEN TARBOUT
28
Opérations de granularité
▪ Granularité :
▪ hiérarchisation de l'information en différents niveaux de détails
appelés niveaux de granularité.
▪ un niveau est un ensemble nommé de membres
▪ le niveau le plus bas est celui de l'entrepôt
▪ Opérations de granularité :
▪ roll-up,
▪ drill-down
I.BEN TARBOUT
29
Opérations de granularité (suite)
▪ Roll-up ou forage vers le haut :
▪ consiste à représenter les données du cube à un niveau de granularité supérieur
conformément à la hiérarchie définie sur la dimension.
▪ une fonction d'agrégation (somme, moyenne, etc) en paramètre de l'opération
indique comment sont calculés les valeurs du niveau supérieur à partir de celles du
niveau inférieur
▪ Drill-down ou forage vers le bas :
▪ consiste à représenter les données du cube à un niveau de granularité de niveau
inférieur, donc sous une forme plus détaillée (selon la hiérarchie définie de la
dimension)
I.BEN TARBOUT
30
Opérations de granularité: Roll-up
▪ Roll-up ou forage vers le haut: consiste à représenter les données du cube à un
niveau de granularité supérieur conformément à la hiérarchie définie sur la
dimension. Soit :
I.BEN TARBOUT
31
Opérations de granularité: Roll-up
▪ roll-up(annee) : Ventes 97-99
▪ roll-up(annees, pieces) : la visualisation est
souvent 2D
▪ Remarque : une fonction d'agrégation (somme, moyenne, …) en paramètre de
l'opération indique comment sont calculés les valeurs du niveau supérieur à partir de
celles du niveau inférieur
I.BEN TARBOUT
32
Opérations de granularité: Roll-up/Cube
L'opération CUBE (représentation cubique généralisée du roll-up) consiste à calculer tous les agrégats
suivant tous les niveaux de toutes les dimensions :
▪ L'union de plusieurs group-by donne naissance à un cube :
▪ L'opérateur cube est une généralisation N-dimensionnelle de fonctions d'agrégations simples. C'est un
opérateur relationnel :
I.BEN TARBOUT
33
Opérations de granularité: Drill-Down
▪ Drill-down ou forage vers le bas : consiste à représenter les données du
cube à un niveau de granularité de niveau inférieur, donc sous une forme
plus détaillée.
▪ opération réciproque de roll-up, drill-down permet d'obtenir des détails sur la
signification dʼun résultat en affinant une dimension ou en ajoutant une dimension
▪ opération coûteuse dʼoù son intégration dans le système
▪ Exemple : un chiffre d'affaires suspect pour un produit donné :
▪ ajouter la dimension temps : envisager l'effet week-end
▪ ajouter la dimension magasin: envisager l'effet géographique
I.BEN TARBOUT
34
Opérations de granularité: Drill-Down (suite)
▪ Drill-down du niveau des régions au niveau villes : Drill-down(regions) :
I.BEN TARBOUT
35
Opérations ensemblistes
▪ slice et dice (sélection et projection)
▪ drill-across (jointure)
I.BEN TARBOUT
36
Opérations ensemblistes: Slide et Dice
▪ slide : correspond à une projection selon une dimension du cube :
▪ dice : correspond à une sélection du cube :
I.BEN TARBOUT
37
Opérations ensemblistes: Slide (projection)
I.BEN TARBOUT
38
Opérations ensemblistes: Dice (sélection)
I.BEN TARBOUT
39
Publicité
Opérations ensemblistes: Jointure (Drill-
across)
I.BEN TARBOUT
40
Architecture OLAP
EN TREP ÔT ET OLAP
OLAP VERSU S OLTP
EXEMP LE D 'AN ALYSES D 'U N EN TREP ÔT
I. BEN TARBOUT
41
Architecture OLAP
Elle est constituée de trois parties qui s’emboitent:
▪ La base de données
▪ Le serveur OLAP
▪ Le module client
I.BEN TARBOUT
42
Architecture OLAP(suite)
La base de données:
▪ Constitue un support de données agrégées ou résumées (notion de niveaux
hiérarchiques).
▪ Les données qu’elle contient peuvent provenir d’un entrepôt de données.
▪ Elle possède une structure multidimensionnelle c’est-à-dire basée sur un SGDB
multidimensionnel ou relationnel.
I.BEN TARBOUT
43
Architecture OLAP (suite)
Le serveur OLAP permet
▪ la gestion de la structure multidimensionnelle dans le SGDB.
▪ la gestion de l’accès aux données de la part des utilisateurs.
Le module client permet
▪ à l’utilisateur de manipuler et d’explorer les données.
▪ l’affichage des données sous formes de graphiques ou de tableaux.
▪ En ce qui concerne la base de données, il existe plusieurs configurations possibles.
I.BEN TARBOUT
44
Stockage physique
• ROLAP
• MOLAP
• HOLAP
I. BEN TARBOUT
45
Stockage physique
Le principal problème posé pour le stockage des cubes de données est leur nature peu
dense, éparse (sparsity), de très nombreuses cellules étant vides. Il existe trois
stratégies de stockage physique :
▪ le stockage sous la forme relationnelle (ROLAP),
▪ sous la forme multidimensionnelle (MOLAP)
▪ ou une solution hybride (HOLAP) combinant ces deux première approches.
I.BEN TARBOUT
46
Stockage physique: ROLAP
On nomme ROLAP l’approche Relationnel OLAP:
▪ Les données sont stockées sous la forme de tables relationnelles.
▪ Elles sont modélisées sous la forme de schémas en étoile ou flocon.
▪ Les requêtes multidimensionnelles doivent alors être traduites en requêtes
relationnelles (SQL).
▪ Ce modèle est excellent vis à vis de la capacité de stockage, mais les requêtes sont
difficiles à définir et à mettre en œuvre et sont coûteuses.
I.BEN TARBOUT
47
Stockage physique: MOLAP
On nomme MOLAP l’approche Multidimensionnelle OLAP: La technologie de stockage
est multidimensionnelle.
▪ Les données sont stockées sous la forme de tableaux multidimensionnels, des index
multidimensionnels sont définis.
▪ Cette technologie de stockage nécessite donc des techniques de compression face à
la faible densité des données (sparsity).
▪ La taille des données pouvant être ainsi stockées est faible par rapport à la solution
ROLAP.
▪ Cependant, les requêtes sont décrites de manière intuitive et efficace. Toutefois, il
faut redéfinir un langage de manipulation des données alors qu’il n’existe aucun
consensus ni technologie reconnue et vraiment établie.
I.BEN TARBOUT
48
Stockage physique: HOLAP
On nomme HOLAP l’approche Hybride OLAP. Cette technologie combine les deux
solutions précédentes.
▪ Les données détaillées sont stockées dans une base de données relationnelle
▪ Les données agrégées dans une base multidimensionnelle.
I.BEN TARBOUT
49