Ecole Nationale de Mécanique et d Aérotechnique Laboratoire d Informatique et d Automatique pour les Systèmes Circuits électroniques au service de l'optimisation multi-requêtes Ahcène BOUKORCA Sous la direction de Ladjel BELLATRECHE et Zoé Faget Futuroscope 16 Janvier 2014
Contexte: Optimiseur de requêtes Big Data à traiter, analyser et sauvegarder. Requêtes plus complexes qui nécessitent un temps de réponse immédiat. Un nombre de requêtes énorme à repondre. Entrepôt de Données Relationnels Nécessité d avoir un traitement efficace des requêtes. Améliorer l optimisation des requêtes 2
Contexte: Optimiseur de requêtes DW Query Parse Logical plans Formalisation de l optimiseur de requêtes Entrées : Une requête Q. Entrepôt de données. Sorties: Un plan d exécution pour Q. Objectif: Exécution de Q en un temps minimum. Physical plans Optimal plan selection Exemples : Starbust (Pirahesh et al., 1992), utilisé par l optimiseur de IBM DB2 et Volcano (Graefe et al., 1993) utilisé par l optimiseur demicrosoftsql-server. Complexité exponentielle: un espace de recherche énorme. Exemple: la requête 8 du benchmark SSB (4 jointures), a plus de 22 millions possibilités de plan logique). Optimal physical plan 3
Contexte: Optimisation multi-requêtes Formalisation de l optimisation multi-requêtes Entrées : Une charge de m requêtes Q={Q1,Q2,Qm} Entrepôt de données Sorties: Choisir un plan pour chaque requête en maximisant la réutilisation des résultats intermédiaires Choisir les résultats intermédiaires. Objectif: Réduire le temps d exécution de Q Sellis (1988), a proposé un algorithme A* qui permet d essayer de trouver toutes combinaisons possibles de fusion des plans locaux des requêtes. Complexité : NP-COMPLET(Sellis et al. 1990). Un autre problème est la gestion des résultats intermédiaires dans les fichiers temporaires 4
Contexte: Optimisation multi-requêtes (2) Combinaison entre deux problèmes: Optimisation des requêtes. Sélection des vues matérialisées. Yang (1997) a proposé un Framework pour générer un ensemble de vues matérialisées et un plan d exécution global (), exploitant ces vues. Complexité: NP-Complet, Les méthodes proposées sont basées sur la fusion des plans individuels. Formalisation de l optimisation multi-requêtes (2) Entrées : Une charge de m requêtes Q={Q1,Q2,Qm} Entrepôt de données Sorties: Choisir un plan pour chaque requête en maximisant la réutilisation résultats intermédiaires Structure d optimisation (vues matérialisées). Objectif: Réduire le temps d exécution de Q Vues matérialisés Sélection sans MQO (Shukla, 1998 & Sellis, 1997) Sélection avec MQO (Yang, 1997) Problème de réécriture de requêtes Problème de la rapidité d avoir un plan d exécution global 5
Plan 1. Analogie entre et circuit électroniques 2. Notre approche de génération de 3. Algorithme de sélection des vues matérialisées 4. 5. Travaux actuels et futurs 6
Analogie entre et circuit électroniques Circuit électronique Analogie entre & VLSIC Objectif (VLSI): Fractionner le circuit en plusieurs clusters de portes : Forte connexion entre les portes à l intérieur de cluster, Minimum de connexion entre les clusters. Objectif (MQO): Regrouper les requêtes en plusieurs composante: Forte interaction entre les requêtes à l intérieur de composante. Minimum de partage entre les composante. 7
Analogie entre et circuit électroniques Analogie entre & VLSIC Motivation de VLSI circuit: Manipule des millions de ports. Grande panoplie d'outils ayant démontré leur efficacité. 1 1 3 2 b a 4 5 d c e 6 7 (A) Circuit. (B) Hypergraphe. Comment emprunter ces méthodes pour résoudre le problème d optimisation multi-requêtes 8
Notre approche Analogie entre & VLSIC Queries DW Parse Graph Modeling Graph partition Sub hypergraphs Cost Model Notre approche: Une vision de construction et pas de sélection un. Construire du sans passer les plans locaux. Division du problème en plusieurs tâches indépendantes. Physical implementation Merge
Notre approche Analogie entre & VLSIC DW Queries Parse Graph Modeling Graph partition Sub hypergraphs Cost Model Merge Physical implementation Analyser la requête SQL et déterminer les différentes opérations (sélection, jointure, projection, et).
Notre approche Analogie entre & VLSIC Queries DW Parse Graph Modeling Graph partition Sub hypergraphs Cost Model Modélisation des nœuds de jointures par un hypergraphe, G(V,E): V: représente les nœuds de jointure; Physical implementation E: représente les requêtes, chaque hyperarêtes connecte les nœuds de jointure qui les Merge utilisent.
Notre approche Analogie entre & VLSIC DW Queries Parse Graph Modeling Graph partition Sub hypergraphs Cost Model Physical implementation Partitionnement en adaptant HMETIS Entrée: Hypergraph ; Sortie: Plusieurs hypergraphes disjoints, chaque hypergraphe contient les requêtes qui peuvent partager des résultats intermédiaires. Merge
Notre approche Analogie entre & VLSIC DW Queries Parse Graph Modeling Graph partition Sub hypergraphs Cost Model Physical implementation Objectif : Transformer chaque hypergraphe en graphe orienté qui représente un pour une composante. Entrée: un hypergraphe. Sortie: graphe orienté (). Merge
Notre approche Analogie entre & VLSIC DW Queries Parse Graph Modeling Graph partition Sub hypergraphs Cost Model 22 21 23 26 27 28 30 31 33 35 36 37 24 38 39 40 41 42 43 44 45 46 76 48 49 50 51 52 53 54 55 56 57 58 59 60 62 61 63 64 65 66 67 Q1 Q2 Q3 Q4 Q7 Q5 Q6 Q8 Q9 Q10 Q12 Q30 Q14 Q13 Q15 Q11 Q18 Q16 Q20 Q19 Q17 Q21 Q22 Q28 Q27 Q29 Q24 Q23 Q25 Q26 Merge Physical implementation Objectif : fusion des différents des composantes en un seul global. Entrée: plusieurs. Sortie: Un global.
Algorithme de sélection des vues matérialisées Analogie entre & VLSIC Objectif: Application du pour la sélection des vues matérialisées Entrée : Un Output : Un ensemble de vues matérialisées. Un algorithme qui matérialise toutes les vues qui ont un bénéfice de réutilisation positif. 22 21 23 26 27 28 30 31 33 35 36 37 24 38 39 40 41 42 43 44 45 46 76 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 Q1 Q2 Q3 Q4 Q7 Q5 Q6 Q8 Q9 Q10 Q12 Q30 Q14 Q13 Q15 Q11 Q18 Q16 Q20 Q19 Q17 Q21 Q22 Q28 Q27 Q29 Q24 Q23 Q25 Q26 15
Analogie entre & VLSIC Star schema benchmark: SF=1 RAM : 8GB Query number Our approach Feasible solution 0-1 integer programming 5 71 82 69 20 88 514 225 30 104 933 510 50 108 2258 781 60 114 4358 1224 499 283 25654 8604 M illis e c o n d e s 30000 25000 20000 15000 10000 5000 0 Our approach Feasible solution 0-1 integer programming 5 20 30 50 60 499 Nombre de requêtes Approche de Yang : le temps d exécution est une fonction exponentiel par rapport au nombre de requêtes. (Manque de scalabilité) Notre approche: le temps d exécution est une fonction logarithmique par rapport au nombre de requêtes. (assure la scalabilité) 16
Analogie entre & VLSIC Star schema benchmark: SF=1 RAM : 8GB 30 Queries 90000000 90000000 80000000 80000000 70000000 70000000 Input/Output number 60000000 50000000 40000000 30000000 Input/Output number 60000000 50000000 40000000 30000000 20000000 20000000 10000000 10000000 0 Yang approach Our approach 0 Yang approach Our approach (01) Matérialiser un seul nœud dans chaque composante (02) Matérialiser tous les nœuds qui ont un benefice positives 17
Travaux actuels et futurs Analogie entre & VLSIC Analyser la structure Conditionné par les structures d optimisation; Evolutive (Q Q ). Introduit la matérialisation dynamique des vues dans une vision optimisation multiple en continue. Plusieurs tables des faits Preuve de complexité de notre approche (n2) Appliquer cette démarche dans le contexte de Map-Reduce. 18
Merci Des questions...? 19