Nothing Special   »   [go: up one dir, main page]

Cours BI Seance 3

Télécharger au format pptx, pdf ou txt
Télécharger au format pptx, pdf ou txt
Vous êtes sur la page 1sur 47

Mastère 2I2T

Chapitre 3: OLAP et l’analyse


multidimensionnelle

Dr. Sinda Elghoul

COURS BUSINESS INTELLIGENCE


Introduction 2
Introduction 3
Tables de faits 4

 Correspondent à un événement d'affaires


 Ex: achat d’un produit par un client, envoi du produit au client, commande de
matériaux auprès d’un fournisseur, etc.
 Contiennent deux types de colonnes:
 Des métriques associées à l’événement d’affaire:
 Ex: total des ventes, nombre d’items commandés, etc.
 Des clés étrangères vers les tables de dimension:
 Ex: ID du client qui fait la commande, ID du produit commandé, etc.
 Contiennent typiquement un très grand nombre de lignes:
 Jusqu'à plusieurs milliards de lignes;
 Souvent plus de 90% des données du modèle.
Tables de dimension 5

 Ensemble hautement corrélé d'attributs (jusqu'à plusieurs dizaines)


regroupés selon les objets clés d'une entreprise:
 Ex: produits, clients, employés, installations, etc.
 Propriétés des attributs:
 Descriptif (ex: chaînes de caractères);
 De qualité (ex: aucune valeur manquante, obsolète, erronée, etc.);
 Valeurs discrètes (ex: jour, âge d'un client);
 Rôles des attributs:
 Filtrer/agréger les données (ex: ville, catégorie produit, etc.);
 Étiqueter les résultats (ex: champs descripteurs).
Exemple 6
Hiérarchies dimensionnelles 7

 Ensemble d'attributs d’une table de dimension ayant une relation hiérarchique (x est
inclus dans y);
 Correspondent à des relations de type 1 à plusieurs;
 Définissent les chemins d'accès dans les données (drill-down paths);
 Peuvent être simples:
 Produit : tous → catégorie →marque →produit;
 Lieu : tous → pays → province → ville →code postal.
 Ou multiples:
Dimension temporelle 8

 Problème: avoir un grain trop fin dans la dimension temporelle (ex: temps
du jour) peut causer l'explosion du nombre de rangées:
 Ex: 31,000,000 secondes différentes dans une année.
 Solution: mettre le temps du jour dans une dimension séparée:
 Dimension Date : année →mois →jour;
 Dimension TimeOfDay : heure → minute → secondes;
 365 lignes au lieu de 31,000,000 lignes.
 La dimension TimeOfDay est souvent modélisée comme un simple
champs dans la table de faits.
Dimensions à évolution lente (SCD) 9

 Slowly Changing Dimensions (SCD);


 Même si elles sont plus statiques que les tables faits, les dimensions
peuvent également changer:
 Ex: adresse d'un client, catégorie d'un produit, etc.
 Stratégies d'historisation:
 SCD Type 1: Écraser l'ancienne valeur avec la nouvelle
 SCD Type 2: Ajouter une ligne dans la table de dimension pour la nouvelle
valeur
 SCD Type 3: Avoir deux colonnes dans la table de dimension correspondant à
l'ancienne et la nouvelle valeur
Stratégie SCD Type 1 10

 Impossible de faire des analyses sur l'ancienne valeur;


 À utiliser seulement lorsque l'ancienne valeur n'est pas significative pour les besoins d'affaires;
 Exige de mettre à jour les données agrégées avec l'ancienne valeur.
Stratégie SCD Type 2 11

 Permet de faire des analyses historiques;


 Demande l'ajout d'une nouvelle ligne par changement;
 À utiliser lorsque l'ancienne valeur a une signification analytique ou si le
changement est une information en soi.
Stratégie SCD Type 3 12

 Rarement employée;
 Profondeur de l'historique est de un seul changement;
 Utilisé lorsqu'on veut vouloir comparer les faits avec l'ancienne ou la
nouvelle valeur;
Apps transactionnelles vs 13

décisionnelles
 Les applications transactionnelles sont constituées de
traitements factuels de type OLTP (On Line Transaction
Processing)
 Les applications d'aide à la décision sont constituées de
traitements ensembliste de type OLAP: On Line Analytical
Processing
Stockage vertical 14

 La plupart des SGBDR transactionnels stockent les données horizontalement:

 Facilite les requêtes retournant une ou plusieurs lignes.


 Dans les entrepôts de données, les requêtes portent souvent sur les colonnes (ex: SUM, AVG,
MIN, MAX, etc.)
 – Il peut être plus efficace (500x plus rapide dans certains cas) de stocker les données par
colonnes:
Index de jointure en étoile (star join) 15

 Pré-calcule les lignes des tables de dimension pouvant être jointes avec la
table de faits;
 Évite de joindre les tables de dimension les unes après les autres.
 Bitmap join index (Oracle)
 Index bitmap sur des colonnes situées dans des tables de dimension
différentes;
 Les colonnes à pré-joindre doivent avoir un domaine restreint (comme pour les
index bitmap standards);
 Peut accélérer jusqu'à 10 fois la jointure (benchmarks Oracle).
Bitmap join index (Oracle) 16

 Jointure à optimiser

 Index à créer
Requêtes analytiques 17
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.
Pré-agrégation des données 18

 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.
Stratégie d'agrégation 19

 Tenir compte du type et de la fréquence des requêtes faites à l'entrepôt


(profilage de requêtes)
 Choisir un niveau d’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
 Approches d'agrégation:
 BD relationnelle avec vue matérialisées (ROLAP)
 Cube de données multidimensionnelles (MOLAP)
Apps transactionnelles vs 20

décisionnelles
 Les deux activités OLTP & OLAP ne peuvent coexister sur des
données dans le même système d’information, leurs objectifs de
performance sont exactement opposés:
 Les requêtes complexes et lourdes dégradent les performances des systèmes
transactionnels,
 Les données temporelles sont réparties entre données actuelles et données
archivées, rendant la vue historique des données très difficile ou impossible,
 Le support efficace d’une activité OLAP nécessite la constitution
d’un système d’information propre: Le Datawarehouse
OLAP 21

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 ou un comportement.
 Les requêtes OLAP sont exécutées sur l'entrepôt de données
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 22

Propriétés OLTP OLAP


Conception Orientation Transaction Analyse
Conception Entité-Relation Etoile/flocon
Données Granularité Détail Résumées, agrégées
Nature relationnelle Multidimensionnelle
Actualisation Mises à jour Historiées, recalculées
Taille 100Mo/Go 100Go/To
Traitements Unité de travail Transaction simple Requête complexe
Accès Lecture/ écriture Lecture
Nb tuples accédés Dizaines Millions
Utilisateurs Utilisateur Agent opérationnel Analyste/décideur
Nb Utilisateur Milliers Centaines
Propriétés OLAP 23

 1. Vue multidimensionnelle : Une base OLAP offre une vue


multidimensionnelle des données
 2. Transparence: éléments techniques mis en oeuvre invisibles pour
l’utilisateur
 3. Accessibilité: la complexité et l’hétérogénéité des données sont masquées
par les outils OLAP
 4. Stabilité: performances stables indépendamment du contexte d’analyse
 5. Architecture Client/Serveur : le coté serveur a en charge l’homogénéisation
des données, les clients se connectent simplement au serveur
 6. Traitement générique des dimensions : une seule structure logique pour
toutes les dimensions. Tout calcul effectué sur une dimension peut l’être sur les
autres
Propriétés OLAP 24

 7. Gestion dynamique des matrices creuses : gestion dynamique de la


mémoire physique nécessaire pour stocker les données non nulles
 8. Support multi-utilisateurs : gestion des accès concurrents aux
données
 9. Croisement des dimensions
 10. Manipulation intuitive des données
 11. Flexibilité des restitutions
 12. Nombre illimité de niveaux d’agrégations et de dimensions
OLAP 25

OLAP donne accès à:


 des fonctions d'extraction de l'information pour:
 visualisation,

 analyse

 traitement

 des fonctions de requête en langage MDX.


 Les résultats d'une requête sont principalement lus
en 2 dimensions maximum (tableau).
Cube OLAP 26

 Le DW a une structure multidimensionnelle qui traite un sujet d’analyse


comme un cube à plusieurs dimensions, offrant des vues en tranches ou
des analyses selon différents axes.
 Un cube OLAP est une structure de données supérieure aux bases de
données relationnelles grâce à une analyse rapide des données
 Pour naviguer dans les données de l’entrepôt, un serveur OLAP va
construire un cube multidimensionnel ou simuler ce cube selon
l’architecture du serveur.
 Le cube permettra de stocker les informations et de les lier à plusieurs
dimensions de manière à pouvoir effectuer des analyses en fonction de
celles-ci.
Cube OLAP 27

La navigation dans le cube


consiste principalement à
passer d’un niveau
d’agrégation à un autre.
Cube OLAP 28
Hiérarchie du cube OLAP 29
Analyse multi-dimensionnelle (OLAP) 30

Représente les données en cube multi-dimensionnel où chaque côté est une


dimension d’analyse et chaque case une métrique
 Rotate (ou Pivot) : Sélection du couple de dimensions qui formera le résultat de la
requête,
 Slicing : Extraction d'une tranche d'information,
 Dicing : Extraction d'un bloc de données (opération plus générale que le slicing),
 Drill-up : Synthèse des informations en fonction d'une dimension
 Drill-down : C'est l'équivalent d'un « zoom », opération inverse du drill-up,
 Drill-through : Lorsqu'on ne dispose que de données agrégées (indicateurs
totalisés), le drill through permet d'accéder au détail élémentaire des informations,
Analyse multi-dimensionnelle (OLAP) 31
Slicing 32

 Sélectionne des données en


appliquant un critère de
sélection à une dimension
pour passer à un sous-cube.
 Aide à visualiser et à
rassembler les informations
spécifiques à une dimension
Dicing 33

 Sélectionne des données en


appliquant une sélection sur
plusieurs dimensions.
 Elle est semblable à slice mais
fonctionne un peu
différemment.
 En slice, le filtrage est fait
pour se concentrer sur un
attribut particulier tandis
qu’en dice, il est davantage
une fonction de zoom qui
sélectionne un sous-ensemble
pour toutes les dimensions
mais pour des valeurs
spécifiques de la dimension.
Drill-up (Roll up) 34

 Permet de passer d’une


mesure détaillée à un
résumé en remontant dans
la hiérarchie de la
dimension, c’est-à-dire,
naviguer vers une
granularité plus grossière.
Drill-down(roll down) 35

Le drill-down est
l’inverse du drill-up, qui
permette de descendre
dans la hiérarchie de la
dimension, i.e. naviguer
vers une granularité plus
fine.
Pivot 36

 L’opération pivot fait


pivoter les axes de
données pour afficher
les données de
différentes
perspectives.
Exemple CUBE 37
Requête en OLAP: Le langage MDX 38

Le langage MDX
 La syntaxe de MDX est remarquablement similaire à la syntaxe de SQL, et
la fonctionnalité fournie par MDX est également similaire à celle de SQL
Requête en OLAP: Le langage MDX 39
Requête simple SQL 40
SQL vs MDX 41
Stockage des entrepôt de données 42

Il existe plusieurs modes de stockage des données d’un


entrepôt
 ROLAP= Relational OLAP OLAP
 MOLAP = Multidimensionnal OLAP
 HOLAP= Hybrid OLAP (ROLAP+MOLAP)

 Les données sont perçues à travers plusieurs dimensions (schéma


multidimensionnel).
 Elles sont qualifiées de multidimensionnelles, indépendamment de leur
support (tables relationnelles ou tableaux à plusieurs dimensions…)
ROLAP 43
 ROLAP est la technologies la plus utilisée en OLAP car les SGBD relationnels sont très
largement répandus
 Cependant les SGBDs relationnels ”tout seuls” ne sont pas adaptés à des analyses OLAP
 nécessité d’étendre les fonctionnalités d’un SGDB
 Un moteur ROLAP :
 Permet de faire les calculs adaptés aux requêtes OLAP sur le SGBD relationnel
 Il permet aussi de générer des requêtes adaptée au schéma de l’entrepôt
ROLAP 44

 L'opérateur cube est une généralisation N-­dimensionnelle de fonctions


d'agrégations simples . C'est un opérateur relationnel.

Select Magasin, date, Rayon, Sum(CA ventes)


From VENTES
Group-by Cube Magasin, Date, Rayon

 Opérateurs d'agrégation : Group by cube, Group by rollup


MOLAP 45

 La philosophie MOLAP consiste au stockage des données directement


dans une structure de cube multidimensionnel :
 MOLAP nécessite le pré-calcul et le stockage des informations du cube
mais il permet des extractions très rapides et optimisées
Cubes multi-dimensionnels (MOLAP) 46

 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);
 Se basent beaucoup sur le pré-calcul d'agrégations selon les
hiérarchies dimensionnelles
Cubes multi-dimensionnels (MOLAP) 47

 Offrent une meilleure performance pour les opérations


d'analyse multidimensionnelle (ex: slicing et dicing) que
ROLAP;
 Facilitent la gestion des agrégations;
 Peuvent être limités en terme du nombre de dimensions et de
valeurs possibles pour ces dimensions (explosion de la
mémoire pour les agrégations);
 Les mises à jour peuvent être plus coûteuses que ROLAP;

Vous aimerez peut-être aussi