Cours BI Seance 3
Cours BI Seance 3
Cours BI Seance 3
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
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
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
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
analyse
traitement
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
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