Otimizador de consultas SQL através de aprendizado por reforço
Visualizar/abrir
Data
2024Autor
Orientador
Nível acadêmico
Graduação
Assunto
Resumo
Este trabalho apresenta uma solução para otimização de consultas SQL em Sistemas de Gerenciamento de Banco de Dados (SGBDs), utilizando aprendizado por reforço profundo, com o objetivo de aumentar a eficiência em comparação aos métodos tradicionais de otimização. A crescente complexidade e o aumento do volume de dados, impulsionados pela expansão da Internet e da Internet das Coisas (IoT), tornam a busca por otimização de consultas uma tarefa fundamental. A abordagem proposta visa superar as li ...
Este trabalho apresenta uma solução para otimização de consultas SQL em Sistemas de Gerenciamento de Banco de Dados (SGBDs), utilizando aprendizado por reforço profundo, com o objetivo de aumentar a eficiência em comparação aos métodos tradicionais de otimização. A crescente complexidade e o aumento do volume de dados, impulsionados pela expansão da Internet e da Internet das Coisas (IoT), tornam a busca por otimização de consultas uma tarefa fundamental. A abordagem proposta visa superar as limitações dos otimizadores em consultas com junções complexas, utilizando o otimizador do PostgreSQL como referência, que se baseia em heurísticas e modelos de custo estatísticos. Com a aplicação dos algoritmos de Deep Q-Network (DQN) e Double Deep Q-Network (DDQN), utilizando de bibliotecas de suporte ao aprendizado de máquina, desenvolveu-se um modelo capaz de aprender estratégias de otimização eficientes sem a necessidade de um modelo de custo pré-definido, baseando-se apenas em recompensas. Para o desenvolvimento e avaliação do modelo, foram utilizados o banco de dados IMDb e um conjunto de consultas pré-definido, aplicando o benchmark de suporte à decisão JOB. A análise dos resultados demonstrou que o otimizador do PostgreSQL tem bom desempenho em consultas simples, mas apresenta limitações em cenários mais complexos. O DQN destacou-se por sua eficiência em tempo de otimização, especialmente em consultas com muitas junções, equilibrando rapidez e qualidade nas soluções geradas. Por outro lado, o DDQN mostrou-se superior em termos de profundidade das árvores de consulta, criando estruturas mais rasas e otimizadas. Contudo, essa eficiência estrutural veio acompanhada de tempos mais elevados de processamento em consultas complexas, evidenciando a necessidade de ajustes no algoritmo. Os resultados reforçam o potencial do aprendizado por reforço profundo para superar as abordagens tradicionais de otimização em SGBDs. No entanto, desafios permanecem, como a redução do tempo de processamento e a validação do impacto desses algoritmos em cenários reais de produção. ...
Abstract
This work presents a solution for optimizing SQL queries in Database Management Systems (DBMSs), using deep reinforcement learning to increase efficiency compared to traditional optimization methods. The increasing complexity and volume of data, driven by the expansion of the Internet and the Internet of Things (IoT), make the search for query optimization a fundamental task. The proposed approach aims to overcome the limitations of optimizers in queries with complex joins, using the PostgreSQL ...
This work presents a solution for optimizing SQL queries in Database Management Systems (DBMSs), using deep reinforcement learning to increase efficiency compared to traditional optimization methods. The increasing complexity and volume of data, driven by the expansion of the Internet and the Internet of Things (IoT), make the search for query optimization a fundamental task. The proposed approach aims to overcome the limitations of optimizers in queries with complex joins, using the PostgreSQL optimizer as a reference, which is based on heuristics and statistical cost models. Applying the Deep Q-Network (DQN) and Double Deep Q-Network (DDQN) algorithms, using machine learning support libraries, a model capable of learning efficient optimization strategies without the need for a predefined cost model was developed, based only on rewards. The IMDb database and a predefined set of queries were used to develop and evaluate the model, applying the JOB decision support benchmark. Data analysis demonstrated that the PostgreSQL optimizer performs well on simple queries, but has limitations in more complex scenarios. DQN stood out for its efficiency in optimization time, especially in queries with many joins, balancing speed and quality in the generated solutions. On the other hand, DDQN proved to be superior in terms of query tree depth, creating shallower and more optimized structures. However, this structural efficiency was accompanied by higher processing times for complex queries, highlighting the need for adjustments to the algorithm. The results reinforce the potential of deep reinforcement learning (DRL) to outperform traditional optimization approaches in DBMSs. However, challenges still need to be addressed, such as reducing processing time and validating the impact of these algorithms in real production scenarios. ...
Instituição
Universidade Federal do Rio Grande do Sul. Instituto de Informática. Curso de Ciência da Computação: Ênfase em Engenharia da Computação: Bacharelado.
Coleções
-
TCC Ciência da Computação (1072)
Este item está licenciado na Creative Commons License
