Vous êtes sur la page 1sur 67

La Modélisation

Multidimensionnelle

2022-2023
Entrepôt de Données: Architecture fonctionnelle

Méta-Données

Extraire DW Serveur
Sources Requêtes et
Nettoyer OLAP
Externes Rapports
Transformer Servir
Charger
Rafraichir
Analyses

BDs Serveur
Opérationnelles Data Marts OLAP

Zone de préparation Zone de présentation Outils d’accès


des données des données aux données

2
OLAP: Définition &
Caractéristiques
La Modélisation Multidimensionnelle

Les BD relationnelles ne sont pas adaptées à l'OLAP car :


pas les mêmes objectifs
pas les mêmes données:
Les données nécessaires à l'OLAP sont multi-dimensionnelles
(exemple: ventes par vendeur, par date, par ville, etc.)

 Nécessité de disposer d'une structure de stockage adaptée à


l'OLAP permettant de représenter les données dans plusieurs
dimensions

4
Entrepôt de Données

 Entrepôt de données : stockage de données volumineuses,


homogènes, exploitables, multidimensionnelles, consolidées

 Exécution de requêtes sur des BD de plusieurs Go


 Besoins spécifiques
 Langages de manipulation
 Organisation des données
 Fonctions d’agrégation
 ...

5
La Modélisation Multidimensionnelle: Notions de Bases

OLAP et les entrepôts de données sont complémentaires:


Un entrepôt de données stocke et gère les données.
OLAP transforme les données de l'entrepôt en informations
stratégiques.

Les technologies OLAP se basent sur les bases de données multi


dimensionnelles (conçues en dimensions et en faits) pour
proposer des techniques d'analyse stratégique.

6
Représentation
Multidimensionnelle
des Données
Des Tables aux Cubes de Données

Hypercube : BD multidimensionnelle
Axes: dimensions (date, type de produits, région)
Chaque cellule de l'hypercube contient une mesure calculée (vente de
produit).
Axe d’analyse: la géographie
(Pays, région, ville)

Variables analysées:
Nbre unité, CA, etc.
Axe d’analyse: le temps
(Année, trimestre, mois, semaine) Axe d’analyse: les produits
(classe, produit)

8
Des Tables aux Cubes de Données

DW-OLAP :
Représentation des données sous forme multidimensionnelle : ‘Cube’

9
Des Tables aux Cubes de Données

Donnée : quantité de vente d’une


pièce, pendant une année, dans une
région donnée

10
Cube: Exemple

11
Cube: Un treillis de cuboïdes

Etant donné un cube à N dimensions, il est possible de dériver


tous les cubes de dimension N-1, N-2,…, N-N, etc.
 Treillis de 2n cubes 0-D cuboïde
tous

temps Produit lieu fournisseur 1-D cuboïdes

temps, Produit temps, lieu Produit, lieu Lieu, fournisseur 2-D cuboïdes

Temps, fournisseur Produit, fournisseur


3-D cuboïdes
temps, Produit, lieu temps, lieu, fournisseur

Temps, produit, fournisseur Produit, lieu, fournisseur


4-D cuboïde

Temps, Produit, lieu, fournisseur


12
Cube: Un treillis de cuboïdes

L'hypercube (cube de cuboïdes)


d'un datawarehouse est appelé cube
de données (ou OLAP cube).
L'implémentation de cet
hypercube peut se faire au moyen
d'un treillis des cuboïdes d'ordres
inferieurs.

13
Opérations
Élémentaires OLAP
Manipulation des données Multidimensionnelles

1
Opérations agissant
sur la structure
2
Opérations agissant
3 sur la granularité

Opérations
Ensemblistes

15
Manipulation des données : Opérations de Restructuration

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.

2015 2016 2017 2015 2016 2017


Oeuf 221 263 139 Tunis 221 263 139
Viande 275 257 116 Manouba 275 257 116

Temps Temps Le cube a pivoté


autour de l’axe
Produit Région
dimension Régions

16
Manipulation des données : Opérations de Restructuration

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.
nest(pièces, région)

vis
clous Est
écrous Ouest
Nord
Sud

17
Manipulation des données : Opérations de Restructuration

Split / 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(région) du cube ventes conduit aux 4
tables suivantes:

18
Manipulation des données : Opérations de Restructuration

Switch/ Permutation: consiste à interchanger la position des membres d’une


même dimension.
Ici, sont interchangés les membres Nord et Sud de la dimension Région.

19
Manipulation des données : Opérations de Restructuration

Push/ Enfoncement: consiste à combiner les membres d’une dimension aux


mesures du cube: faire passer des membres comme contenu de cellules.
Ici, Push(année)

20
Manipulation des données Multidimensionnelles

1
Opérations agissant
sur la structure
2
Opérations agissant
3 sur la granularité

Opérations
Ensemblistes

21
Manipulation des données : Opérations de Granularité

Opérations agissantes sur la granularité

Forage vers le haut (Roll-up): "dézoomer "


Obtenir un niveau de granularité supérieur
Utilisation de fonctions d’agrégation

Forage vers le bas (drill-down): " zoomer "


Obtenir un niveau de granularité inférieur
Données plus détaillées

22
Manipulation des données : Opérations de Granularité

Roll-Up
Un roll-up correspond à un zoom-out du cube actuel, ce qui entraine un
résultat de granularité réduite.
Par exemple roll-up du cube (catégorie/ mois/ ville) vers (type/ mois/
ville).
Cette opération peut porter sur une ou plusieurs dimensions à la fois
Par exemple roll-up du cube (catégorie / mois / ville) vers (type/ trimestre/
ville).
Appliquée à toutes les dimensions, cette opération résulte en un cube n’ayant
plus qu’un seul fait.

Drill-Down
Drill-down est l’opération inverse de Roll-Up.
Rend possible la navigation d’une granularité donnée vers une granularité plus
fine pour une ou plusieurs dimensions (zoom-in).
Par exemple de (type / trimestre / ville) vers (catégorie / mois / ville).
23
Manipulation des données : Opérations de Granularité

Roll-up 05 06 07
Aliment 496 520 255 Dimension Temps

Roll-up
S1 S2 S1 S2 S1
05-07 05 06 07 05 05 06 06 07
Fruits 623 Fruits 221 263 139 Fruits 100 121 111 152 139
Viande 648 Viande 275 257 116 Viande 134 141 120 137 116

Drill down
05 06 07
Pomme 22 19 20
…. … … …
Boeuf 40 43 48 Drill down
…. … … …
Dimension Produit
24
Manipulation des données : Opérations de Granularité

Représenter les données du cube à un niveau


de granularité supérieur conformément à la
hiérarchie définie sur la dimension.

25
Manipulation des données : Opérations de Granularité

Roll-Up(année)

Remarque: 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.

26
Manipulation des données : Opérations de Granularité

ROLLUP consiste à représenter les données du cube à un niveau de granularité


supérieur conformément à la hiérarchie définie sur la dimension.

ROLLUP(Continent, Country, City)


Continent, Country, City
Continent, Country
Continent
()

SELECT Continent, Country, City,


SUM(SaleAmount) AS TotalSales
FROM Sales
GROUP BY ROLLUP(Continent, Country,
City)

27
Manipulation des données : l’opération 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 :

SELECT Continent, Country, City,


SUM(SaleAmount) AS TotalSales
FROM Sales
GROUP BY CUBE(Continent, Country, City)

CUBE(Continent, Country, City)


Continent, Country, City
Continent, Country
Continent, City
Continent
Country, City
Country
City
()

28
Manipulation des données Multidimensionnelles

1
Opérations agissant
sur la structure
2
Opérations agissant
3 sur la granularité

Opérations
Ensemblistes

29
Manipulation des données : Opérations Ensemblistes

Tranchage (Slicing): consiste à ne travailler que sur une tranche du


cube. Elle correspond à une projection selon une dimension du cube.
Une des dimensions est alors réduite à une seule valeur.

2015 2016 2017 2016


Oeuf Tunis 220 265 284 Oeuf Tunis 265
Manouba 225 245 240 Manouba 245
Viande Tunis 163 152 145 Viande Tunis 152
manouba 187 174 184 manouba 174

30
Manipulation des données : Opérations Ensemblistes

Extraction d’un bloc de données (dicing) : ne travailler que sur un sous


cube. Elle correspond à une sélection du cube.
Ici, Produits =Oeuf

2015 2016 2017


Oeuf Tunis 220 265 284 2015 2016 2017
Manouba 225 245 240 Oeuf Tunis 220 265 284
Viande Tunis 163 152 145 Manouba 225 245 240
manouba 187 174 184

31
Manipulation des données Multidimensionnelles: Un Récap

3 catégories d’opérations élémentaires:


Restructuration: concerne la représentation. Ces opérations permettent 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

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

32
Les Règles de Codd
pour les produits
OLAP
Les 12 règles de Conception OLAP (Edgar Frank Codd, 1993)
En 1993, Codd définit les bases du modèle OLAP : 12 règles de Codd
définissent l’évaluation des produits OLAP :

Vue multidimensionnelle
1 Comme par exemple lorsqu’on souhaite analyser les ventes selon
plusieurs dimensions: par produit par région ou par période.

Transparence du serveur OLAP à différents types de logiciels


Elle s'appuie sur une architecture ouverte permettant à l'utilisateur
d'implanter le système OLAP sans affecter les fonctionnalités du
2
système central.
Cette transparence se traduit pour l'utilisateur par un complément
à ses outils habituels garantissant ainsi sa productivité et sa
compétence.

Accessibilité à de nombreuses sources de données


3 Le système OLAP doit donner accès aux données nécessaires aux
analyses demandées.
34
Les 12 règles de Conception OLAP (Edgar Frank Codd, 1993)

Performance du système de Reporting


4 L'augmentation du nombre de dimensions ou du volume de la base
de données ne doit pas entraîner de dégradation visible par
l'utilisateur.

Architecture Client/Serveur
La plupart des données pour OLAP sont stockées sur des gros
5
systèmes et sont accessibles via des terminaux. Il est donc
nécessaire que les outils OLAP soient capables de travailler dans un
environnement Client/Serveur.

Dimensions Génériques
Toutes les dimensions doivent être équivalentes en structure et en
6
calcul.
Essayer, autant que possible, d'avoir une unicité dans la définition
des dimensions(exp: ne pas avoir deux dimensions client).

35
Les 12 règles de Conception OLAP (Edgar Frank Codd, 1993)

Gestion dynamique des matrices creuses


7 La gestion dynamique de la mémoire physique nécessaire pour
stocker les données non nulles.
Les outils OLAP doivent avoir la capacité d'optimisation d'espace de
stockage par la gestion des matrices creuses.

Support Multi-Utilisateurs
Les outils OLAP doivent supporter les accès concurrents
8
Garantir l'intégrité et la sécurité afin que plusieurs utilisateurs
accèdent au même modèle d'analyse.

Opération sur les dimensions


9
Les opérations doivent pouvoir s'effectuer sur toutes les dimensions.

36
Les 12 règles de Conception OLAP (Edgar Frank Codd, 1993)

Manipulation intuitive des données


10 Les utilisateurs d'outils OLAP ne sont pas forcément informaticiens:
Il est nécessaire d'offrir des solutions adaptées à travers l'interface
utilisateur.

Souplesse et facilité de constitution des rapports


La création des rapports dans les outils OLAP doit permettre aux
11 utilisateurs de présenter comme ils le désirent des données
synthétiques ou des résultats en fonction de l'orientation du modèle.
L'utilisateur doit pouvoir aisément " arranger " son résultat au format
désiré.

12 Nombre illimité de niveaux d'agrégation et de dimensions

37
Caractéristiques majeures des produits OLAP

L’acronyme FASMI (Fast Analysis of Shared Multidimensional


Information) permet de résumer la définition des produits OLAP :

Fast : utilisation de pré-calculs pour réduire les durées des requêtes.

Analysis : fournir la possibilité aux utilisateurs de construire leurs


calculs et leurs analyses complexes sans avoir à programmer : outils
fournis avec les produits OLAP.

Shared : le système doit créer un contexte où confidentialité, sécurité et


gestion d'accès concurrent sont préservés.

Multidimensional : caractéristique majeure, les produits OLAP doivent


fournir des vues conceptuelles multidimensionnelles des données et
supporter des hiérarchies de dimensions

Informations : ensemble des données et des informations nécessaires


pour un produit OLAP.

38
Les Systèmes OLAP

Différentes principales représentations logiques orientées ED ont été


proposées :

ROLAP Relational OLAP

MOLAP Multidimensional OLAP

HOLAP Hybrid OLAP

39
Les Systèmes OLAP

MOLAP: Multidimensional OLAP

Implémente le cube sous forme d’un tableau


multidimensionnel, qui sera ensuite implémenté dans un
SGBD multidimensionnel

Langage : MDX

 Calculs d’agrégats rapides

 Formats souvent propriétaires: Coût élevé des licences pour


les bases multidimensionnelles

40
Les Systèmes OLAP

ROLAP: Relational OLAP

Stockage de l’entrepôt dans une BDR: les données sont obtenues à


partir de tables relationnelles et de jointures entre celles-ci.

Langage: SQL

 Plus facile et moins cher à mettre en place

 stockage de gros volume de données

 Moins performant lors des phases de calcul

 Performance (jointures)

MOLAP s'oppose à ROLAP:


pour le premier, les jointures sont déjà faites, ce qui
explique les performances
dans le second, les jointures entre les tables de dimension
et de fait sont effectuées au moment de la requête.
41
Les Systèmes OLAP

Hybrid OLAP
C’est la combinaison des approches ROLAP et MOLAP visant à
bénéficier des avantages de chacune.
Les tables de faits et de dimensions sont stockées dans un
SGBDR
Les données agrégées sont stockées dans des cubes

L’utilisateur peut avoir accès à un rapport contenant les données


issues du cube ainsi qu’à un autre rapport détaillé contenant les
données en provenance de tables, cette fois relationnelles.
 Bon compromis au niveau coût /performance sur de gros volume de
données
 Exploite les fonctionnalités de SQL
 Cube connecté à l’entrepôt de données

 Difficulté de mise en œuvre


 Pas aussi rapide que MOLAP
42
Les Systèmes OLAP

MOLAP = Base de données dimensionnelle + Serveur de traitement


OLAP
ROLAP = Base de données relationnelle + SQL avancé

HOLAP = MOLAP pour les données sommaires/agrégées + ROLAP pour


les données détaillées

43
Les Systèmes OLAP: Quelques Solutions Commerciales

44
La Modélisation
Logique d’un ED
La Modélisation Multidimensionnelle: Notions de Bases

Méthode de conception logique qui vise à présenter les données sous


une forme standardisée, intuitive et qui permet des accès hautement
performants

Permet de considérer un sujet analysé comme point dans un espace à


plusieurs dimensions

Un modèle dimensionnel est le résultat :


d'une analyse des besoins : ce que je souhaite étudier.
d'une analyse des données disponibles : ce que je peux étudier.

46
La Modélisation Multidimensionnelle: Notions de Bases

Les données sont organisées de manière à mettre en évidence:


Le Sujet  Le Fait
Les perspectives de l’analyse  La table des dimensions

Les faits sont des grandeurs que l'on cherche à mesurer (prix,
quantité, etc.)
Les dimensions sont des axes d'analyse (date, lieu, produit,
personne, etc.)
Une requête décisionnelle exprime toujours la mesure d'une
quantification de faits par rapport à des dimensions, sous une forme du type :
"Quelle a été la quantité de ... en fonction de ... »

47
Modélisation Multidimensionnelle: Fait

Un fait :
Modélisation du sujet de l'analyse
Grain de mesure de l'activité analysée
Exemple: Chiffre d’affaires, nombre de vente, nombre de transaction, etc 
en général: une valeur numérique
Les mesures sont stockées dans la table des faits
Mesures numériques, généralement valorisées de façon continue. On peut:
les additionner
les dénombrer
calculer le minimum, le maximum ou la moyenne

3 types de fait
Additif
Semi Additif
Non Additif

48
Modélisation Multidimensionnelle: Fait

Additif: additionnable suivant toutes les dimensions


Quantités vendues, chiffre d’affaire
Peut être le résultat d’un calcul:
o Bénéfice = montant vente - coût

Semi Additif: additionnable suivant certaines dimensions

Solde d’un compte bancaire


o Pas de sens d’additionner sur les dates car cela représente des
instantanés d’un niveau
ola somme sur les comptes: on connaît ce que nous possédons en
banque

Non Additif: fait non additionnable quelque soit la dimension

Prix unitaire: l’addition sur n’importe quelle dimension donne un


nombre dépourvu de sens
49
Modélisation Multidimensionnelle: Fait

Table des faits


Clé composite référence des clés primaires des tables de dimensions
Contient les valeurs des mesures et des clés vers les tables de dimensions
Plusieurs tables de fait dans un DW
Les faits les plus utiles d’une table des faits sont numériques et additifs

Exemple : le fait de Vente peut être constitué des mesures


d'activités suivantes : Table de faits des
quantité de produits vendus ventes journalières
montant total des ventes Clé date (CE)
Clé Produit (CE)
Clé magasin (CE)
Quantité vendue
Montant des ventes

50
Cube: Concept de Fait

Exemple:
Requête: Quels sont les frais de déplacement et le kilométrage des
commerciaux de la région nord ayant des véhicules de 10 à 14 cv en
avril 2010?

Vue:
Frais de déplacement
Kilométrage
Par employé (fonction)
Par véhicule (puissance)
Par région
Par mois

51
Modélisation Multidimensionnelle: Dimension
Dimension = liste d'éléments

La nécessité pour chaque dimension de définir ses différents niveaux de


détail
Définition de une (ou plusieurs) hiérarchie(s) de paramètres
Granularité d’une dimension : nombre de niveaux hiérarchiques

Exemple: Temps : jour < mois < trimestre < année


jour < mois < semestre < année
Table de dimension
« Produit »
Dans l'exemple précédent :
Clé produit (CP)
Analyse du fait Vente suivant différentes Désignation
perspectives correspondant à trois dimensions : Prix unitaire
la dimension Temps Poids
Prix_unitaire
la dimension Géographie
Etc.
la dimension Produit

52
Modélisation Multidimensionnelle: Dimension

Table des Dimensions


Table de dimension
Contient une clé primaire unique qui correspond à « Produit »
l’un des composants de la clé multiple de la table des Clé produit (CP)
faits Désignation
Prix unitaire
Les tables dimensionnelles sont les points d’entrée Poids
de l’entrepôt de données Prix_unitaire
Etc.

53
M. Multidimensionnelle: Hiérarchie de Dimension

La nécessité pour chaque dimension de définir


ses différents niveaux de détail

Exemple de Hiérarchies multiples de


dimensions:

54
Modélisation Multidimensionnelle: Dimension

Les axes de dimension doivent fournir des règles de calcul


d'agrégat pour chaque mesure:

55
Modélisation Multidimensionnelle: Dimension

Évolution des Dimensions:


Dimensions à évolution lente
Dimensions à évolution rapide

56
M. Multidimensionnelle: Dimension à Évolution Lente

Exemple: Changement de description des membres dans les dimensions


un client peut changer d’adresse, se marier, etc.
un produit peut changer de noms, de formulations
" Yaourt à la vanille en Yaourt " en " saveur Vanille ", " bio " en "
Activia "

Choix entre 3 solutions


écrasement de l’ancienne valeur
versionnement
valeur d’origine / valeur courante

57
M. Multidimensionnelle: Dimension à Évolution Lente

Écrasement de l’ancienne valeur : Correction des informations erronées


Avantage:
Facile à mettre en œuvre
Inconvénients:
Perte de la trace des valeurs antérieures des attributs
Perte de la cause de l’évolution dans les faits mesurés

Clé Produit Description Produit Catégorie Produit


12345 IntelliKids Logiciel

Jeux Educatifs

58
M. Multidimensionnelle: Dimension à Évolution Lente

Ajout d’un nouvel enregistrement: Utilisation d’une clé de substitution


Avantages:
Permet de suivre l’évolution des attributs
Permet de segmenter la table de faits en fonction de l’historique

Inconvénient:
Accroit le volume de la table

Clé Produit Description Produit Groupe Produit


12345 IntelliKids Logiciel
25673 IntelliKids Jeux Educatifs

59
M. Multidimensionnelle: Dimension à Évolution Lente

Ajout d’un nouvel attribut: Valeur origine/valeur courante


Avantages:
Avoir deux visions simultanées des données :
Voir les données récentes avec l’ancien attribut
Voir les données anciennes avec le nouvel attribut
Voir les données comme si le changement n’avait pas eu lieu
Inconvénient:
Inadapté pour suivre plusieurs valeurs d’attributs intermédiaires

Clé Description Groupe Nouveau


Produit Produit Produit Groupe Produit
12345 IntelliKids Logiciel Jeux Educatifs

60
M. Multidimensionnelle: Dimension à Évolution Rapide

Lorsqu'une dimension comporte un très grand nombre de champs


évoluant en continu  il est préférable de regrouper ces champs dans une
table satellite (relation 1->N): isoler les attributs qui changent rapidement

Les champs à évolution constante se retrouvent isolés et disponibles


à travers une simple jointure.

Avantages:

le fait d'isoler ces champs à évolution rapide facilite la


maintenance et le traitement des erreurs de chargement.

permet de réduire l'impact sur la dimension en cas d'erreurs.

Exemple:
les produits financiers comme les actions avec leurs statuts et
valorisations à un moment T.

61
M. Multidimensionnelle: Dimension à Évolution Rapide

Si l'on veut préserver l'historique des changements d'adresses dans la


dimension «CLIENTS» dans un pays où 70% de la population déménage
une fois par année (le 1er juillet par exemple au Canada)

62
M. Multidimensionnelle: Caractéristiques Dimension

Les dimensions dans un modèle multidimensionnel sont orthogonales:


Elles ne doivent pas avoir de relations entre elles.

Si des éléments de dimensions différentes ont des liens, il faut les


regrouper dans une même dimension.

Dim Client
Table Fait Dim Client
Id_Client
Id_Client
Table Fait
pays
Dim Pays
Id_pays
NomPays

63
Modélisation Multidimensionnelle: objets intervenants

Tables de faits (fact tables)


Les faits numériques (les mesures)
Les clés étrangères vers les tables de dimension

Tables de dimension (dimension tables)


composées d'une ou plusieurs hiérarchies catégorisant les
données

Identifiant unique
pour distinguer les enregistrements dans les tables

Relations entre les objets


elles assurent l'intégrité des opérations

64
Modélisation Multidimensionnelle

Avantages
Structure prévisible et standardisée

Modèle évolutif qui peut être modifié sans peine:


Ajout de nouveaux faits non prévus initialement, à partir du moment
où ils sont cohérents avec la granularité de la table des faits existante
Ajout d’attributs dimensionnels nouveaux
Changement de granularité: Décomposition des enregistrements d’une
dimension existante en un niveau de détail plus fin à partir d’une date
déterminée

Inconvénients
Tables plus volumineuses

Fréquence d’accès très variable au contenu des tables

65
Schéma d’un Entrepôt de Données

■ Les tables de faits et de dimensions sont stockées dans un SGBDR


Schéma en étoile
Schéma en flocon
Schéma en constellation

Le schéma en étoile est souvent utilisé pour l’implantation physique.

66
À Suivre

Vous aimerez peut-être aussi