1 1 Djamel Berrabah Evolution des structures de données stockées : fichiers,
1 1 Djamel Berrabah Evolution des structures de données stockées : fichiers, bases de données hiérarchique, Introduction 2 bases de données relationnelles, bd. distribuées, bd. objet (multimedia). de + en + près de la façon dont les gens visualisent et manipulent les données Bases de données relationnelles [Codd70] : Modèle simple : tables bi-dimensionnelles. Facile à mettre en œuvre. Introduction 3 Le plus répandu : La plupart des DW ont leurs données venant des BD relationnelles. BD relationnelles adaptées à l'OLTP (On-Line Transaction Processing) grâce au standard SQL. Bases de données relationnelles [Codd70] : Analyse de données massives (giga, tera octets) stockées dans le DW pour l'aide à la décision. Introduction 4 BD relationnelles peu adaptées à l'OLAP (On-Line Analytical Processing). Requêtes moins fréquentes mais plus complexes, longues, nécessitant une reformulation (agrégation) des données de masse. Exemples de requêtes "Total des ventes pour chaque produit par trimestre" "les 5 meilleurs fournisseurs pour chaque catégorie de produit l'an dernier" "pour chaque produit, sa part de marché dans sa catégorie par rapport Les besoins 5 à celle de 1994" "les fournisseurs dont les ventes ont augmenté dans chaque catégorie de produit ces 5 dernières années" Avoir des résultats à temps, pouvoir raffiner, prolonger ou reprendre les analyses besoin de garder et visualiser les résultats intermédiaires. Appréhender (visualiser) les données dans les dimensions naturelles pour les décideurs Total des ventes pour chaque produit par trimestre Les besoins (suite) 6 Total des ventes pour chaque produit par trimestre Trim1 Trim2 Trim3 Trim4 Prod1 12 14 32 22 Prod2 15 26 34 7 ... Total des ventes par catégorie de produit par fournisseur par trimestre (+ de détail sur les fournisseurs, - sur les produits) Modele Couleur Ventes Clio Bleu 180 Clio Rouge 244 Table (relation) VentesVoiture Attributs BD relationnelle et OLTP 7 Clio Rouge 244 Jaguar Bleu 318 Jaguar Rouge 204 Espace Bleu 131 Espace Blanc 153 nuplets On veut des détails sur les vendeurs... Modele Couleur Vendeur Ventes Clio Bleu Toto 12 Clio Rouge Toto 23 Clio Bleu Titi 34 Clio Rouge Titi 45 Clio Bleu Tata 56 Clio Rouge Tata 67 Clio Bleu Tutu 78 Clio Rouge Tutu 89 Jaguar Bleu Toto 90 Jaguar Rouge Toto 09 Vendeur Succursale Toto Auto+ Titi Auto+ Tata BelleCaisse Tutu BelleCaisse VentesVoiture Vendeurs •BD relationnelle : présentation peu conviviale. Données brutes. Normalisation •OLTP (SQL) : mises à jour. Requêtes simples "qui, quoi" (ex. les BD relationnelle et OLTP 8 Jaguar Rouge Toto 09 Jaguar Bleu Titi 98 Jaguar Rouge Titi 87 Jaguar Bleu Tata 76 Jaguar Rouge Tata 65 Jaguar Bleu Tutu 54 Jaguar Rouge Tutu 43 Espace Bleu Toto 32 Espace Blanc Toto 21 Espace Bleu Titi 11 Espace Blanc Titi 22 Espace Bleu Tata 33 Espace Blanc Tata 44 Espace Bleu Tutu 55 Espace Blanc Tutu 66 •OLTP (SQL) : mises à jour. Requêtes simples "qui, quoi" (ex. les ventes de Toto. •Pour l'analyse, besoin de données agrégées, synthétisées •Possibilité d'agréger (fonctions de base uniquement) les données sur une seule table (ex. : somme des ventes par modèle), mais très coûteux (parcourir toutes les tables) et recalcul à chaque étape, à chaque utilisation il nous faut des tables de résumés •Sur plusieurs tables (ex : somme des ventes par succursale), nécessité de faire des jointures coûteuse (ici 24 * 4 = 96 comparaisons) il faut une dénormalisation • Idée : stocker les résultats des fonctions agrégées (ex: table des ventes par vendeur, table de la moyenne des ventes par vendeur de chaque succursale,...) les plus fréquemment utilisés. • Problèmes : •tables de résumés prédéfinies. Ce qui n'est pas prévu n'est pas disponible. •prolifération (multiplication) des tables de résumés Tables de résumé 9 •prolifération (multiplication) des tables de résumés environnement de décision complexe et confus Utilisateurs doivent savoir quelles tables de résumé sont disponibles et ce à quoi elles correspondent. •Il faut rafraîchir par rapport au données brutes ne pas interférer la production (concurrence) le calcul des agrégats nécessite de lire toutes les données d'une table et donc impose le verrouillage de tous ses n- uplets. •Idée : Stocker toutes les informations dans une seule table pour éviter les jointures. Modele Couleur Vendeur Ventes Succursale Enfants Clio Bleu Toto 12 Auto+ Nono Clio Bleu Toto 12 Auto+ Nana Clio Rouge Toto 23 Auto+ Nono Clio Rouge Toto 23 Auto+ Nana Clio Bleu Titi 34 Auto+ -- Clio Rouge Titi 45 Auto+ -- Clio Bleu Tata 56 BelleCaisse -- Clio Rouge Tata 67 BelleCaisse -- Clio Bleu Tutu 78 BelleCaisse -- Clio Rouge Tutu 89 BelleCaisse -- Dénormalisation 10 •Problèmes : •Grande redondance (ex. succursale et surtout enfants de Toto) place disque performances •Diminue la densité du stockage des données (colonne Enfants creuse) place disque gaspillée •Augmente aussi la taille et le nombre des index •Seule alternative "plus d'acier", i.e.. augmenter les capacités matérielles Clio Rouge Tutu 89 BelleCaisse -- Jaguar Bleu Toto 90 Auto+ Nono Jaguar Bleu Toto 90 Auto+ Nana Jaguar Rouge Toto 09 Auto+ Nono . . . . . . . . . . . . . . . . . . Espace Blanc Tutu 66 BelleCaisse -- •Les bases de données relationnelles ne sont pas adaptées à l'OLAP car les structures sont naturellement multi-dimensionnelles alors que les tables les représentent sous forme d’une vue aplatie •Perte de performances •Les utilisateurs doivent savoir comment trouver les liens entre les tables pour recréer la vue multi-dimensionnelle. •Il est donc nécessaire de disposer d'une structure de stockage adaptée à Vers une autre représentation des données 11 •Il est donc nécessaire de disposer d'une structure de stockage adaptée à l'OLAP, i.e. permettant de •visualiser les données dans plusieurs dimensions naturelles, •de pouvoir définir et ajouter des dimensions facilement •de manipuler les données ainsi représentées facilement et efficacement. Bases de données multi-dimensionnelles ("Cube") •Une BD multidimensionnelle [Gray & al. - VLDB'96 ] est un hyper-cube : •Les axes sont appelés dimensions définies par l'utilisateur •Les points dans l'espace (cellules) contiennent des mesures calculées à partir de formules plus ou moins complexes. Bases de données multidimensionnelles 12 •Les opérateurs sur le cube sont algébriques (retournent un cube) et peuvent ainsi être combinés Base de données multi-dimensionnelle = "super-tableur" Exemple d’entrepôt de données Soit lʼentrepôt en schéma étoile suivant : • ventes(codeProduit, date, vendeur, montant) (table faits) 13 • produits(codeProduit, modèle, couleur) (table dimension) • vendeurs(nom, ville, département, état, pays) (table dimension) • temps(jour, semaine, mois, trimestre, année) (table dimension) Besoin d’analyse Analyse des ventes de divers produits Exemple de questions associées : • Quels sont les produits dont les ventes ont chuté l’an dernier? 14 • Quelles sont les quinze meilleures ventes par magasin et par semaine durant le premier trimestre de l’année 2001? • Quelles prévisions peut-on faire sur les ventes d’une catégorie de produits dans les 6 mois à venir ? Exemples d’analyse ventes(codeProduit, date, vendeur, montant) (table faits) produits (codeProduit, modèle, couleur) (table dimension) vendeurs (nom, ville, département, état, pays) (table dimension) temps (jour, semaine, mois, trimestre, année) (table dimension) 15 Analyse des ventes de divers produits : SELECT modele, SUM(montant) FROM ventes, produits WHERE ventes.codeProduit = produits.codeProduit GROUP BY modele ; Exemples d’analyse ventes(codeProduit, date, vendeur, montant) (table faits) produits (codeProduit, modèle, couleur) (table dimension) vendeurs (nom, ville, département, état, pays) (table dimension) temps (jour, semaine, mois, trimestre, année) (table dimension) 16 Les ventes de vis sont plus faibles que prévu... quelles couleurs sont responsables ? SELECT couleur, SUM(montant) FROM ventes, produits WHERE ventes.codeProduit = produits.codeProduit AND modele = “vis” GROUP BY couleur ; Exemples d’analyse ventes(codeProduit, date, vendeur, montant) (table faits) produits (codeProduit, modèle, couleur) (table dimension) vendeurs (nom, ville, département, état, pays) (table dimension) temps (jour, semaine, mois, trimestre, année) (table dimension) 17 Les ventes de vis sont plus faibles que prévu... quelles années sont responsables ? SELECT couleur, annees, SUM(montant) FROM ventes, produits, temps WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND modele = “vis” GROUP BY couleur, annees ; Exemples d’analyse ventes(codeProduit, date, vendeur, montant) (table faits) produits (codeProduit, modèle, couleur) (table dimension) vendeurs (nom, ville, département, état, pays) (table dimension) temps (jour, semaine, mois, trimestre, année) (table dimension) 18 Les ventes de vis sont plus faibles que prévu… Quels trimestres sont responsables ? SELECT couleur, trimestre, SUM(montant) FROM ventes, produits, temps WHERE ventes.codeProduit = produits.codeProduit AND ventes.date = temps.jour AND modele = “vis” GROUP BY couleur, trimestre ; Opérations de Restructuration Rotate/pivot • effectuer à un cube une rotation autour de l’un de ses trois axes passant par le centre de 2 faces opposées, de façon à présenter un ensemble de faces différent • une sorte de sélection de faces et non des membres. 19 Opérations de Restructuration Switch • Switch ou permutation : consiste à interchanger la position des membres d’une dimension : 20 • Ici sont interchangés les membres nord et sud de la dimension régions Opérations de Restructuration Split • Split ou division : consiste à présenter chaque tranche du cube et de passer de sa présentation tridimensionnelle à sa présentation sous la forme dʼun ensemble de tables. 21 Opérations de uploads/Marketing/04-datawarehouses-olap.pdf
Documents similaires










-
31
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 27, 2021
- Catégorie Marketing
- Langue French
- Taille du fichier 1.5177MB