CHAPITRE 2 : ENTREPÔTS DE
DONNÉES ET ANALYSE EN
LIGNE OLAP
1 – Introduction et problématique de l’OLAP
Entrepôt de données
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
;…
OLTP VS OLAP
OLTP (On Line Transaction Processing) :
➢ Des applications opérationnelles (de production).
➢ Les requêtes OLTP sont exécutées sur les données sources.
OLAP (On Line Analytical Processing) :
➢ Des applications d’aide à la décision.
➢ Les requêtes OLAP sont exécutées sur l’ED.
OLTP VS OLAP
Le terme OLAP désigne :
➢ L’ensemble des moyens et techniques à mettre en œuvre pour
réaliser des systèmes d’aide à la décision 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.
OLTP VS OLAP
Exemple
Soit l’entrepôt en schéma étoile suivant :
➢ ventes(codeProduit, date, vendeur, montant) (table faits)
➢ produits(codeProduit, modèle, couleur) (table dimension)
➢ vendeurs(nom, ville, département, état, pays) (table dimension)
➢ temps(date, jour, semaine, mois, année) (table dimension)
Exemple
Hiérarchies des dimensions :
➢ Dimension « temps» :
o H1 : jour -> mois -> année ;
o H2 : jour -> mois -> trimestre -> année ;
o H3 : jour -> semaine -> année ;
➢ Dimension « géographie » :
o H1 : vendeur -> ville -> département -> pays
o H2 : vendeur -> ville -> état -> pays
➢ Dimension « produit » : aucune hiérarchie spécifique
Exemple
Selon une notation plus explicite :
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 2021?
➢ Quelle est la tendance des chiffres d’affaire (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 ?
Exemple d’analyse
Analyse des ventes de divers produits :
SELECT modele, SUM(montant) FROM ventes, produits WHERE
[Link] = [Link] GROUP BY modele;
Exemple d’analyse
Les ventes de vis sont plus faibles que prévu... quelles
couleurs sont-elles responsables ?
SELECT couleur, SUM(montant) FROM ventes, produits WHERE
[Link] = [Link] AND modele = “vis”
GROUP BY couleur ;
Exemple d’analyse
Les ventes de vis sont plus faibles que prévu... quelles
années sont-elles responsables ?
SELECT couleur, annees, SUM(montant) FROM ventes, produits,
temps WHERE [Link] = [Link] AND
[Link] = [Link] AND modele = “vis” GROUP BY
couleur, annees ;
Exemple d’analyse
Les ventes de vis sont plus faibles que prévu... Quels
trimestres sont-ils responsables ?
SELECT couleur, trimestre, SUM(montant) FROM ventes, produits,
temps WHERE [Link] = [Link] AND
[Link] = [Link] AND modele = “vis” GROUP BY
couleur, trimestre ;
De la table au cube
Hiérarchies de granularité
Terminologies autour des cubes
2 – Opérations élémentaires OLAP
Catégories d’opérations OLAP
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
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 :
➢ réorientation : sélection graphique ; flexibilité du schéma ;
membres complexes ; symétrie membres/mesures
➢ manipulations : bijectives relatives ; à niveau d’information
constant.
❑ Opérations de restructuration : rotate/pivot ; switch ; split,
nest, push, pull.
Opérations de restructuration (Rotate)
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.
Opérations de restructuration (Switch)
Switch ou permutation : consiste à inter-changer la position
des membres d’une dimension.
Opérations de restructuration (Split)
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.
Opérations de restructuration (Nest)
Nest ou l’emboîtement : imbrication des membres à partir du
cube. Permet de grouper sur une même représentation bi-
dimensionnelle toutes les informations (mesures et membres)
d’un cube quelque soit le nombre de ses dimensions.
Opérations 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.
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
Des opérations d’agrégation successives sur ces données
permettent de nouveaux points de vue de moins en moins
détaillés de l’information :
➢ navigation entre les niveaux : groupements ; agrégation
➢ manipulations : relatives ; nécessitant des informations non
contenues dans le cube de départ
Opérations de granularité
Opérations de granularité : roll-up ; drill-down
➢ Les opérations agissant sur la granularité d’observation des
données caractérisent la hiérarchie de navigation entre les
différents niveaux.
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.
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).
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.
Opérations de granularité (Roll-up)
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
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.
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 géographique
Opérations de granularité (Drill-down)
Drill-down du niveau des régions au niveau villes : Drill-
down(regions) :
Opérations ensemblistes
Objet des opérations ensemblistes :
➢ concernent l’extraction
➢ manipulations classiques
➢ extension à plusieurs dimensions
Opérations OLAP ensemblistes :
➢ slice et dice (sélection et projection)
➢ drill-across (jointure)
Opérations ensemblistes
slice : correspond à une projection selon une dimension du
cube.
Opérations ensemblistes
dice : correspond à une sélection du cube :
Opérations ensemblistes (Slice)
Opérations ensemblistes (Dice)
Opérations ensemblistes (Drill-across)
Exemple de traitements OLAP
Quels sont les 10 produits les plus performants ?
Quels sont les 20 produits les moins performants ?
Calculer la moyenne glissante des ventes par région et par
pièces, pour une fenêtre de 2 années …
Calculer les prévisions de ventes pour les années 2000 à 2002
avec comme hypothèse un accroissement annuels des ventes de
10% …
…
Langage pour OLAP : MDX
MDX (Multi Dimensional eXpression)
langage de requêtes OLAP
inventé par Mosha Pasumansky au sein de Microsoft