Mastère 2I2T Chapitre 3: OLAP et l’analyse multidimensionnelle Dr. Sinda Elghou
Mastère 2I2T Chapitre 3: OLAP et l’analyse multidimensionnelle Dr. Sinda Elghoul COURS BUSINESS INTELLIGENCE Introduction 2 Introduction 3 Tables de faits 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. 4 Tables de dimension 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). 5 Exemple 6 Hiérarchies dimensionnelles 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: 7 Dimension temporelle 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. 8 Dimensions à évolution lente (SCD) 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 9 Stratégie SCD Type 1 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. 10 Stratégie SCD Type 2 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. 11 Stratégie SCD Type 3 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; 12 Apps transactionnelles vs 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 13 Stockage vertical 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: 14 Index de jointure en étoile (star join) 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). 15 Bitmap join index (Oracle) Jointure à optimiser Index à créer 16 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. 17 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. 18 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 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) 19 Apps transactionnelles vs 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 20 OLAP 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 21 OLTP vs OLAP 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 22 Propriétés OLAP 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 23 Propriétés OLAP 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 24 OLAP 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). 25 Cube OLAP 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. 26 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) 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 uploads/Industriel/cours-bi-seance-3.pdf
Documents similaires










-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 14, 2021
- Catégorie Industry / Industr...
- Langue French
- Taille du fichier 1.5224MB