OLAP Équipe: Johanne Lavoie Giovanni Malizia Présenté le 26 avril 2004 Prof. : Robert Godin Cours : INF7115 Session : Hiver 2004 Plan de présentation Survol Problématiques Approches OLAP Amélioration de la performance Processus de sélection des vues à matérialiser Hiérarchies des attributs Contexte étudié Cadre du treillis Algorithmes glouton Modèle de coût Produits commerciaux Conclusion Références 2 Survol Introduit en 1993 par E.F. Codd Utilisation pour l’aide à la décision Utilisateurs OLAP autonomes Différents types : MOLAP, ROLAP, HOLAP, DOLAP Étroitement lié aux entrepôts de données Performance inacceptable sur un environnement opérationnel 3 Défis Croissance constante des données Complexité des requêtes Temps de réponse Coûts Le dilemme Quelles vues doit-on matérialiser pour optimiser le temps de réponse, minimiser l’espace disque occupé et diminuer les coûts ? 4 Approche MOLAP Les données sont nettoyées, agrégées dans des dimensions multiples Les données sont emmagasinées dans des rangées multidimensionnelles Pré compilation des rangées d'organisation et de données qui peuvent être consultées directement et plus rapidement Joints déjà fait Vue multidimensionnelle directe des données Facilité d'utilisation Crystal decisions, « Compound OLAP. An OLAP Architecture for the Real World », 2001, p.1-15 5 Approche ROLAP Données volatiles Données agrégées et emmagasinées avec les bases de données relationnelles Manipulation de requêtes complexes Interface multidimensionnelle aux données relationnelles Intégration possible à des BDs relationnelles existantes Jointures au moment de la requête Requête utilisant SQL Crystal decisions, « Compound OLAP. An OLAP Architecture for the Real World », 2001, p.1-15 6 Amélioration de la performance Optimisateurs de requêtes Techniques d’évaluation de requête Stratégies d’indexation Index « bit-map » Index de jointures Alternatives pour la matérialisation des vues (cubes) Toutes les vues Aucune vue Quelques vues (une partie du cube) 7 Processus de sélection des vues à matérialiser Ensemble des requêtes Vues candidates Contrainte de ressource Algorithme de sélection Modèle de coût Vues matérialisées sélectionnées Bellatreche, Ladjel, Techniques d’optimisation des requêtes dans les data warehouses, Laboratoire d’Informatique Scientifique et Industrielle, 2003, http://www.lisi.ensma.fr/ 8 Hiérarchies des attributs Deux types d’opérations couramment utilisées pendant les requêtes : Le pliage (roll up) et le dépliage (drill down) Période Jour Semaine X X Aucun Mois Année Jours du mois (1-31) Semaines du mois (1-5) Jours du mois (1-31) Jan. Avr. Déc. Année Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808 9 Contexte étudié Cadre de treillis pfc 6M pc 6M pf 0,8M fc 6M p 0,2M f 0,1M c 0,1M Modèle de coût none 1 Vues possibles 1 2 3 Algorithme glouton Taille / Temps Espace / Temps 10 Cadre de treillis Cadre de treillis pfc 6M pc 6M pf 0,8M fc 6M p 0,2M f 0,1M c 0,1M none 1 Vues possibles 11 Treillis des 8 vues TPC-D Huit (8) vues possibles 1. Pièce, fournisseur, client (6M) 2. Pièce, client (6M) 3. Pièce, fournisseur (0,8M) pc 6M 4. Fournisseur, client (6M) 5. Pièce (0,2M) p 0,2M 6. Fournisseur (0,01M) 7. Client (0,1M) 8. None (1) Total: 19.1M pfc 6M pf 0,8M fc 6M f 0,1M c 0,1M none 1 p = pièce, f = fournisseur, c = client Total: 7.1M 12 Treillis composé de dimensions hiérarchiques cp 6M Combinaison de deux dimensions hiérarchiques M cs 5 n Pays Aucun + Taille Type Aucun ,1 c0 M p5 Pièce Client ct 5,99 M n p 2 s1 7 t3 50 50 25 n 2M 0, s 50 n M 50 1 t c = client n = par pays p = pièce s = taille t = type de pièce none 1 Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808 13 Avantages du treillis composé Fournit un cadre pour évaluer les dimensions hiérarchiques Améliore la modélisation des requêtes communes entre les utilisateurs Indique dans quel ordre matérialiser les vues Réduction de l’accès aux données sources 14 Contexte étudié Cadre de treillis pfc 6M pc 6M pf 0,8M fc 6M p 0,2M f 0,1M c 0,1M Modèle de coût none 1 Vues possibles 1 2 3 Algorithme glouton Taille / Temps Espace / Temps 15 Algorithme glouton Algorithme glouton Espace / Temps 16 Déroulement de l’algorithme glouton (greedy) La vue haut niveau est matérialisée Sélection des vues additionnelles à matérialiser, une à une, jusqu’à l’atteinte du coût total choisie À chaque étape, choisir la vue non matérialisée, avec les bénéfices les plus avantageux 17 Résultats de l’algorithme glouton cp 6M ct 5,99 M M cs 5 c = client n = par pays p = pièce s = taille t = type de pièce n ,1 c0 M p5 n p 2 s1 n M 7 t3 50 Numéro 1 2 3 4 5 6 7 8 9 10 11 12 Sélection cp ns nt c p cs np ct t n s aucune Bénéfice Temps total Espace total infinit 72M 6M 24M 48M 6M 12M 36M 6M 5,9M 30,1M 6,1M 5,8M 24,3M 6,3M 1M 23,3M 11,3M 1M 22,3M 16,3M 0,01M 22,3M 22,3M petit 22,3M 22,3M petit 22,3M 22,3M petit 22,3M 22,3M petit 22,3M 22,3M 50 25 n 2M , 0 50 1 t Temps Espace s 50 none 1 Nombre de vues 18 Contexte étudié Cadre de treillis pfc 6M pc 6M pf 0,8M fc 6M p 0,2M f 0,1M c 0,1M Modèle de coût none 1 Vues possibles 1 2 3 Algorithme glouton Taille / Temps Espace / Temps 19 Modèle de Coût Modèle de Coût 1 2 3 Taille / Temps 20 Rappel: Treillis des 8 vues TPC-D Huit (8) vues possibles 1. Pièce, fournisseur, client (6M) 2. Pièce, client (6M) 3. Pièce, fournisseur (0,8M) 4. Fournisseur, client (6M) 5. Pièce (0,2M) 6. Fournisseur (0,01M) 7. Client (0,1M) 8. None (1) 21 Modèle linéaire de coût T=m*S+c (T) temps d’exécution (S) taille d’une vue (c) coût fixe (m) ratio du temps de requête/taille de la vue Source Une cellule seulement 6. Vue – fournisseur 3. Vue – pièce, fournisseur 1. Vue – pièce, fournisseur, client Taille (S) Temps (sec.) Ratio 1 2,07 Non applicable 10 000 2,38 ,000031 800 000 20,77 ,000023 6 000 000 226,23 ,000037 Temps de réponse de la requête par rapport à la taille de la vue 2,38 – 2,07 = (0,31)/10000 = ,000031 Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808 22 Produits commerciaux 23 Catégorisation Multi-pass SQL Multidimensional server engine Client multidimensional engine ROLAP MOLAP Cartesis Magnitude MicroStrategy Crystal Holos (ROLAP mode) SAS CFO Vision Hyperion Essbase Crystal Holos Longview Khalix Comshare Decision Speedware Media/MR Hyperion Essbase Microsoft Analysis Services Oracle Express Oracle Express (ROLAP mode) Oracle OLAP Option AW Oracle OLAP Option (ROLAP mode)Gentia Pilot Analysis Server Microsoft Analysis Services WhiteLight PowerPlay Enterprise Server Pilot Analysis Server Applix TM1 Oracle Discoverer Comshare FDC Dimensional Insight Hyperion Enterprise Hyperion Pillar DOLAP Hyperion Intelligence BusinessObjects Cognos PowerPlay Personal Express TM1 Perspectives http://www.olapreport.com/Architectures.htm#Matrix 24 Tendance de part du marché http://www.olapreport.com/market.htm 25 Résultats TPC Produit Version QphH Prix / QphH Oracle Enterprise Edition v9.2.0.2.0 34,492 141.00 $ US IBM DB2 UDB 7.2 22,361 253.00 $ US 5,199 120.00 $ US Microsoft Server 2003 SQL Server Enterprise Edition 2000 64 bit Résultats des essais à 1,000 GB Réf.: www.tpc.org 26 Conclusion La distribution de l’espace disque entre les vues et les index L’algorithme glouton considère seulement la contrainte de l’espace disque et exclut l’utilisation des index par les vues Le découplage de la maintenance des vues dans l’entrepôt de données par rapport aux mises à jour constantes des données sources 27 Références Ullman, Jeffrey D., « Efficient Implementation of Data Cubes Via Materialized Views », KDD Proceedings, 1996, p.386-388 Harinarayan, Venky, Rajaraman, Anand, Ullman, Jeffrey, D., « Implementing Data Cubes Efficiently », Proceedings of the 1996 ACM SIGMOD international conference on Management of Data, p.205-216, ISSN:0163-5808 Gupta, Ashish, Mumick, Inderpal Singh, Ross, Kenneth A., « Adapting Materialized Views after Redefinition », ACM SIGMOD Conference, 1995, p.211-222 Goldstein, Jonathan, Larson, Per-Åke, « Optimizing Queries Using Materialized Views: A Practical, Scalable Solution », ACM SIGMOD Conference, 2001, Vol. 2 No. 3, 1999, p.331-342 Gupta, Himanshu, « Selection of Views to Materialized in a Data Warehouse », Proceedings of 23rd VLDB Conference, Athens, Greece 1997, p.1-15 Gupta, Himanshu, Mumick, Inderpal Singh, « Selection of Views to Materialize Under a Maintenance Cost Constraint », Proceeding of the 7th International Conference on Database Theory, 1999, p. 453-470 Bellatreche, Ladjel, Techniques d’optimisation des requêtes dans les data warehouses, Laboratoire d’Informatique Scientifique et Industrielle, 2003, http://www.lisi.ensma.fr/ 28 29 Diapositives d'appui 30 Autres algorithmes Algorithme Description ECA (Eager Compensating Algorithm) Adresse le découplage de vues avec les données sources VRDS (View Relevance Driven Selection) Sélection d’un ensemble de vues à matérialiser dans un contexte espace / coûts ILGA (Inner Level Greedy Algorithm) Optimisation de GA initiale par une comparaison itérative des combinaisons possibles des vues et des indexes ITGA (Inverted Tree Greedy Algorithm) Utilise un arbre inversé pour le comparer au GA initiale et l’optimiser GIA (Greedy Interchange Algorithm) Utilise la solution généré par le GA et l’optimise en remplaçant une à une la vue déjà sélectionnée par une vue pas encore sélectionné 31 Tendances de recherche OLAP Stream Data Cube Iceberg Cube-H Cube Étoile (Star cubing) 32 Techniques d’indexages Produit Arbre B Bitmap Jointure Oracle 9i Oui Oui Oui IBM DB2 Universal Database 7.2 Oui Oui Oui MySQL 4.0 Oui Non Oui Sybase Adaptive Server Enterprise 12.5 Oui Non Non Microsoft SQL Server 2000 SP2 Oui Non Oui http://common.ziffdavisinternet.com/download/0/1387/ExtendedFeatures_SQL.xls 33