Vous êtes sur la page 1sur 50

Data Warehouse

École Marocaine des Sciences de l'Ingénieur

La Conception physique
des données

Pr. I.Salhi
i.salhi@emsi.ma

© 2022 Pr, I Salhi


Data Warehouse

Le cycle de vie d’un projet en BI


• Diagramme de flux detravail:

Conception de Sélection et
l’architecture installationdes Croissance
technique produits

Définition
Planification Conception et
des Modélisation Conception
de projet / développement Déploiement
besoins des données physique
programme du système ETL
d’affaires

Conception des Développement


application de des applications Maintenance
BI de BI

Gestion de projet / programme

© 2022 Pr, I Salhi


Data Warehouse

Hypercube: représentation des données


multidimensionnelles
- BD-OLTP- représentent les données sous forme aplatie: relation,
données normalisées

© 2022 Pr, I Salhi


Data Warehouse

Hypercube: représentation des données


multidimensionnelles
- Représentation des données sous forme multidimensionnelle : 'Cube’.

© 2022 Pr, I Salhi


Data Warehouse

Hypercube: représentation des données


multidimensionnelles
- Hypercube : BD multidimensionnelle
- Axes: dimensions (date, type de produits, région),
- Chaque cellule de l'hypercube contient une mesure calculée
(vente de produit).

© 2022 Pr, I Salhi


Data Warehouse

Les opérateurs OLAP


● Les opérateurs appliqués sur un cube sont algébriques :
Le résultat est un autre cube

● Les opérateurs peuvent être combinés


● Les opérateurs analytiques permettent :
● Des extractions
– Slicing : Prendre une tranche du cube
– Dicing : Extraire un sous-cube
● Des changements de granularité d’une dimension
– Roll-up (agrégation d’une dimension -> Résumé)
– Drill-down (informations plus détaillées)
● Des pivots
© 2022 Pr, I Salhi
-17-
Data Warehouse

Exemples à partir du cube …

Locations Product
• NA (North America) •Computer Component
• Euro • Modems
• Asia •Wireless Mouse
•Africa •Other Components
26 174 100
• CellPhones
Time •Radar Detector
80 • 2000
100
• Q1, Q2,Q3,Q4
52
• 2001
28
• Q1, Q2,Q3,Q4
33 80 • 2002
• Q1, Q2,Q3,Q4
• 2003
•Q1, Q2,Q3,Q4

© 2022 Pr, I Salhi

-18-
Data Warehouse

L’opérateur Slicing (1)


● Sélection de tranches du cube par des prédicats selon une
dimension

Slice
Product =« wireless Mouse »

28 52

© 2022 Pr, I Salhi


Data Warehouse

L’opérateur Slicing (2)


● Sélection de tranches du cube par des prédicats selon une
dimension

80

Slice pour la Location = « Asia »

© 2022 Pr, I Salhi


Data Warehouse

L’opérateur Dicing (1)


● Extraction d’un sous-cube

Dice for
Product=« Cellphones » And
Location=« NA » And
Year=« 2000 »

© 2022 Pr, I Salhi


Data Warehouse

L’opérateur Roll-up (dézoomer)


Roll-up Products ➔ Components

26 174 100

100 80

28 52
33 80

59 => Radar Detector 28 => Wireless


(33) + CellPhones (26) Mouse

© 2022 Pr, I Salhi


Data Warehouse

L’opérateur Drill-down (zoomer)


Drill-down sur Product
Des components vers les unités

Computer
components 28 100 80 52
Other
59 254 100
components 26 174 100

28 52 100 80

33 80 28 52
33 80

© 2022 Pr, I Salhi


Data Warehouse

L’opérateur pivot

● Changement d’axes

© 2022 Pr, I Salhi


Pivot
Data Warehouse

Analyse multi-dimensionnelle (OLAP)


Produit 1 Produit 2 Produit 3 … Produit 1 Produit 2 Produit 3 …
Client 1 Date 1
Client 2 Rotate Date 2
Client 3 Date 3
… …

Roll-up
Slice
(dim. Produit)
(dim. Produit) Drill-down
(dim. Produit)
Produit 2 Catégorie 1 Catégorie 2 Catégorie 3 …
Client 1 Client 1
Client 2 Client 2
Client 3 Client 3
… …

© 2022 Pr, I Salhi

Note: Catégorie correspond à la catégorie d’un produit (hiérarchie de la dim. Produit)


Cause CUBE (SQL99) Data Warehouse

SELECT noClient,noArticle,SUM(montant)
FROM Vente
GROUP BY CUBE(noClient,noArticle)

Article
NOCLIENT NOARTICLE SUM(MONTANT)

1 10 500
1 20 200
Client
1 40 100
1 50 200
1 60 200
1 1200
2 10 700
2 20 300
2 60 400

Article

Article
2 1400
3 10 1000
3 20 400
3 40 100
3 50 200 Client Client
3 1700
4 10 300
4 60 500
4 800
10 2500
20 900
40 200

Article
50 400
60 1100
5100
Client

© 2022 Pr, I Salhi

15
Data Warehouse

Cause CUBE (SQL99)


■ Résultat:
noArticle

10 20 40 50 60 total

1 500 200 100 200 200 1200

noClient 2 700 300 0 0 400 1400

3 1000 400 100 200 0 1700

4 300 0 0 0 500 800

total 2500 900 200 400 1100 5100

© 2022 Pr, I Salhi

16
Data Warehouse

Requêtes analytiques
■ Exemple:
– 300 magasins;
– 40,000 produits;
– 80 marques (500 produits par marque);
– Environ une vente à chaque semaine, pour chaque produit, dans
chaque magasin.
■ Requête sur 1 produit, 1 magasin, 1 semaine:
– Agrégation de 1 ligne de la table de faits.
■ Requête sur 1 produit, tous les magasins, 1 semaine:
– Agrégation de 300 lignes de la table de faits.
■ Requête sur 1 marque, tous les magasins, 1 année:
– Agrégation de 7,800,000 lignes de la tables de faits.

© 2022 Pr, I Salhi


Data Warehouse

Pré-agrégation des données

■ Accélère les requêtes analytiques en pré-calculant l'agrégation


de faits à différents niveaux des hiérarchies dimensionnelles
■ Duplique l'information contenue dans la table de faits atomique
(niveau le plus granulaire)
■ Exemple (suite):
– Table pré-agrégée où chaque ligne donne le total des ventes
durant une semaine, pour une marque de produits dans un certain
magasin;
– Requête sur 1 marque, tous les magasins, 1 année:
■ Agrégation de 15,600 lignes au lieu de 7.8 millions.

© 2022 Pr, I Salhi

18
Data Warehouse

Stratégie d'agrégation

■ Tenir compte du type et de la fréquence des requêtes faites à


l'entrepôt (profilage de requêtes)
■ Choisir un niveau de hiérarchie offrant un bon compromis
entre l'utilité et le gain en performance
– Règle: Chaque nouvelle ligne doit agréger au moins 10 lignes de la
table de faits atomiques

© 2022 Pr, I Salhi


Data Warehouse

Approches d’agrégations
• Relational OLAP (ROLAP):
– Utilise les BD relationnelles standards (ex: vues
matérialisées).
• Multidimensional OLAP (MOLAP):
– BD multidimensionnelles (cubes de données);
– Technologie différente des BD relationnelles (ex:
tableaux compressés).
• Approche hybride(HOLAP):
– Combine les avantages du MOLAP et ROLAP;
– Implémentée dans la plupart des produits
commerciaux.
© 2022 Pr, I Salhi

20
Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

• Table physique synchronisée avec les résultats d'une requête;


• Synchronisation temps-réel, en lot ou sur demande;
• Permet les indexes, le partitionnement, contrôle d'accès, etc.
• Hiérarchie d'agrégations possible en créant une nouvelle vue
à partir d'autres vues.

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)
• Un SGBD relationnel est utilisé pour stocker l’ED (en étoile ou flocon)
• Le moteur OLAP est un élément complémentaire qui:
• Fournit une version multidimensionnelle de l’ED.
• Fais des calculs de données dérivés et des agrégations à différents
niveaux.
• Génère des requêtes SQL adaptées au schéma relationnel de l’ED en
profitant de vues matérialisées existantes.

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

• Systèmes ROLAP = technologie de stockage relationnelle


• Le modèle relationnel demande des extensions pour supporter les
requêtes d’analyses multidimensionnelles du niveau d’application :
• Extensions du langage SQL :
• de nouveaux opérateurs tels que « cube » et de nouvelles fonctions
comme « rank » et « percentile » complètent les fonctions
classiques de SQL comme « count », « sum » et « avg »

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)
• Le moteur OLAP:
• traduit dynamiquement le modèle logique de données multidimensionnel M en
modèle de stockage relationnel R (en étoile ou en flocon)
• techniquement, il transforme une requête multidimensionnelle m sur M en une
requête relationnelle r sur R
• L’efficacité de la requête détermine la performance et le passage à l’échelle global du
système :
=> choix de technique/stratégies d’optimisation spécifiques distinguant les produits
ROLAP :
1. techniques d’indexation spécifiques
2. sélection et matérialisation de vues
3. fragmentation des tables de l’ED

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)
1. techniques d’indexation spécifiques:

- listes inversées (inverted lists)


- indexation binaire (index de vecteurs de bits - bitmap indexing) :
oracle 9i
DB2
microsoft SQL server 2000
sybase IQ
- index de jointure (join indexing)
oracle 9i

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
Agrégation par vues matérialisées
(ROLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)
• Représentent les données sous la forme d'un tableau
multidimensionnel (cube) où:
– Les coordonnées d'une case correspondent à une
combinaison de valeurs des dimensions du cube;
– Le contenu d'une case correspond aux faits (mesures) pour
ces valeurs;
• Utilisent des techniques de compression pour gérer le
fait que la plupart des cases du cubes sont vides (sparse
array compression);
• Pré-calculent certaines agrégations, en se basant sur les
hiérarchies dimensionnelles.

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse
BD multi-dimensionnelles
(MOLAP)

© 2022 Pr, I Salhi


Data Warehouse

BD multi-dimensionnelles (MOLAP)
• Exemple de cube OLAP:

© 2022 Pr, I Salhi


Data Warehouse

BD (Hybrid-OLAP)

© 2022 Pr, I Salhi


Data Warehouse

BD (Hybrid-OLAP)

© 2022 Pr, I Salhi


Data Warehouse

BD (Hybrid-OLAP)

© 2022 Pr, I Salhi


Data Warehouse

BD (Hybrid-OLAP)

© 2022 Pr, I Salhi


Data Warehouse

Exercice d’application
La société Chausséria, installée dans la région Rhône-Alpes, désire construire un entrepôt de
données pour suivre l'évolution de ses ventes de chaussures. L’entreprise Chausséria dispose de
deux magasins « Chauss_Lyon » et « Chauss_Bron » et vend plusieurs modèles de chaussures. Soit
la représentation relationnelle du data Mart Chausseria_01_02.

1. Proposez un tableau multidimensionnel pour observer le nombre total de paires de chaussures


vendues par rapport aux axes MAGASIN et MODÈLE.
2. Calculer l’opérateur CUBE sur le data mart Chausseria_01_02 avec l’approche MOLAP.
3. Calculer l’opérateur CUBE sur le data mart Chausseria_01_02 avec l’approche ROLAP.

© 2022 Pr, I Salhi


Data Warehouse

Exercice d’application

1. Le tableau multidimensionnel selon les 2 axes MAGASIN et MODÈLE.

© 2022 Pr, I Salhi


Data Warehouse

Exercice d’application

2. Calculer l’opérateur CUBE sur le data mart Chausseria_01_02 avec l’approche MOLAP.

3. Calculer l’opérateur CUBE sur le data mart Chausseria_01_02 avec l’approche ROLAP.

© 2022 Pr, I Salhi

Vous aimerez peut-être aussi