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

  • 22
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager