Statistical learning for selectivity estimation in relational databases
Apprentissage statistique pour l'estimation de sélectivité en bases de données relationnelles
Résumé
Databases, and in particular relational databases, are a common paradigm for storing and querying data. Data is stored in relations which are linked with each other. Users may interrogate the database by issuing queries via a declarative query language. One of the challenges for a relational database management system (RDBMS) is to evaluate each query as quickly possible. However, as it turns out, there are many ways in which a query can be executed. The RDBMS delegates the choice of the query execution plan to a query optimiser. In turn, the query optimiser tasks a cost model with the responsibility of estimating the cost of each execution plan considered by the optimiser. The cost estimation therefore has a large influence on the quality of the execution plans, which in turns affects the running time that the user perceives. The most important input in the cost model is the selectivity, which is the amount of data that is expected to flow in and out of each operator in a plan. From a statistical point of view, this is a case of density estimation, where the goal is to determine the amount of data that verifies certain conditions. It is common practice to use density estimation models that make strong simplifying assumptions, in large part for efficiency reasons. For instance, it is usually assumed that attributes are independent with each other. Alas, in practice, these assumptions are more often that not unverified, which leads to large estimation errors. The goal of this PhD is thus to propose models that offer a better compromise between selectivity estimation accuracy and computational cost. First of all, we propose a methodology based on Bayesian networks, where we constrain each network to have a tree topology, therefore allowing a linear computational complexity. Secondly, we train online machine learning models to correct an existing selectivity estimation model, whilst adapting to concept drift. Our experimental results, which are based on the TPC-DS and JOB benchmarks, are very encouraging with respect to both of our lines of work.
Les bases de données relationnelles sont couramment utilisées pour stocker et interroger des données. Les données y sont stockées dans des relations qui sont liées entre elles. Un utilisateur interroge ces données via des requêtes exprimées dans un langage déclaratif. Un des défis pour le Système de Gestion de Bases de Données Relationnelles (SGBDR) est d’évaluer les requêtes le plus rapidement possible. Pour cette évaluation, il existe un large choix de plans d’exécution associé à une requête donnée. Le SGBDR délègue le choix du plan d’exécution le plus efficace à un optimiseur. Dans ce processus, le modèle de coûts, quand à lui, a la responsabilité d’estimer le temps de calcul de chaque plan d’exécution considéré par l’optimiseur. Par conséquent, le modèle de coûts influe sur la qualité des plans d’exécution produit par l’optimiseur, et donc sur le temps de réponse perçu par l’utilisateur.Le paramètre le plus influant dans le modèle de coûts est la sélectivité, qui permet d’estimer la quantité de données qui transite entre chaque opérateur d’un plan d’exécution. D’un point de vue statistique, ceci correspond à de l’estimation de densité, qui consiste à déterminer la quantité de données qui vérifie un ensemble de conditions. Il est d’usage courant d’utiliser des modèles avec des hypothèses simplificatrices pour des raisons de performances. Par exemple, il est souvent supposés qu’il n’existe pas de dépendances de valeurs entre différents attributs de relations. Dans la majeure partie des applications cette hypothèse se révèle non vérifiée et conduit à de grandes erreurs d’estimation. Le but de cette thèse est donc de proposer des modèles plus réalistes qui offrent un meilleur compromis entre la précision des estimations et la complexité calculatoire requise. Premièrement, nous proposons une méthode s’appuyant sur les réseaux Bayésiens dont la représentation sous forme d’arbre nous permet d’améliorer la précision des estimations avec une complexité linéaire. Par la suite, nous explorons l’usage de modèles d’apprentissage en ligne pour corriger un modèle d’estimation existant tout en s’adaptant à l’évolution des données. Nos résultats expérimentaux basés sur les bechmaks JOB et TPC-DS montrent des résultats très encourageants.
Origine | Fichiers produits par l'(les) auteur(s) |
---|