Please use this identifier to cite or link to this item:
https://hdl.handle.net/1822/84186
Title: | Query optimizers based on machine learning techniques |
Author(s): | Souto, Rui Pedro Sousa Rodrigues do |
Advisor(s): | Coelho, Fábio André Castanheira Luís Vilaça, Ricardo Manuel Pereira |
Keywords: | Database tuning Machine learning Query optimization Aprendizagem automática Otimização de queries Tuning de base de dados |
Issue date: | 27-Oct-2021 |
Abstract(s): | Query optimizers are considered one of the most relevant and sophisticated components
in a database management system. However, despite currently producing nearly optimal
results, optimizers rely on statistical estimates and heuristics to reduce the search space
of alternative execution plans for a single query. As a result, for more complex queries,
errors may grow exponentially, often translating into sub-optimal plans resulting in less
than ideal performance. Recent advances in machine learning techniques have opened
new opportunities for many of the existing problems related to system optimization.
This document proposes a solution built on top of PostgreSQL that learns to select
the most efficient set of optimizer strategy settings for a particular query. Instead of
depending entirely on the optimizer’s estimates to compare different plans under different
configurations, it relies on a greedy selection algorithm that supports several types of
predictive modeling techniques, from more traditional modeling techniques to a deep
learning approach.
The system is evaluated experimentally with the standard TPC-H and Join Order ing Benchmark workloads to measure the cost and benefits of adding machine learning
capabilities to traditional query optimizers. Os otimizadores de queries são considerados um dos componentes de maior relevância e complexidade num sistema de gestão de bases de dados. No entanto, apesar de atualmente produzirem resultados quase ótimos, os otimizadores dependem do uso de estimativas estatísticas e de heurísticas para reduzir o espaço de procura de planos de execução alternativos para uma determinada query. Como resultado, para queries mais complexas, os erros podem crescer exponencialmente, o que geralmente se traduz em planos sub-ótimos, resultando num desempenho inferior ao ideal. Os recentes avanços nas técnicas de aprendizagem automática abriram novas oportunidades para muitos dos problemas existentes relacionados com otimização de sistemas. Este documento propõe uma solução construída sobre o PostgreSQL que aprende a selecionar o conjunto mais eficiente de configurações do otimizador para uma determinada query. Em vez de depender inteiramente de estimativas do otimizador para comparar planos de configurações diferentes, a solução baseia-se num algoritmo de seleção greedy que suporta vários tipos de técnicas de modelagem preditiva, desde técnicas mais tradicionais a uma abordagem de deep learning. O sistema é avaliado experimentalmente com os workloads TPC-H e Join Ordering Benchmark para medir o custo e os benefícios de adicionar aprendizagem automática a otimizadores de queries tradicionais. |
Type: | Master thesis |
Description: | Dissertação de mestrado integrado em Engenharia Informática |
URI: | https://hdl.handle.net/1822/84186 |
Access: | Open access |
Appears in Collections: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
Rui Pedro Sousa Rodrigues do Souto.pdf | 1,64 MB | Adobe PDF | View/Open |
This item is licensed under a Creative Commons License