Mostrar registro simples

dc.contributor.advisorGalante, Renata de Matospt_BR
dc.contributor.authorLentz, Vitóriapt_BR
dc.date.accessioned2025-02-14T06:56:40Zpt_BR
dc.date.issued2024pt_BR
dc.identifier.urihttp://hdl.handle.net/10183/285290pt_BR
dc.description.abstractEste 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.pt_BR
dc.description.abstractThis 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.en
dc.format.mimetypeapplication/pdfpt_BR
dc.language.isoporpt_BR
dc.rightsOpen Accessen
dc.subjectOtimização de consultaspt_BR
dc.subjectJOIN operationen
dc.subjectSqlpt_BR
dc.subjectAprendizado por reforçopt_BR
dc.subjectAprendizado profundopt_BR
dc.titleOtimizador de consultas SQL através de aprendizado por reforçopt_BR
dc.typeTrabalho de conclusão de graduaçãopt_BR
dc.identifier.nrb001241195pt_BR
dc.degree.grantorUniversidade Federal do Rio Grande do Sulpt_BR
dc.degree.departmentInstituto de Informáticapt_BR
dc.degree.localPorto Alegre, BR-RSpt_BR
dc.degree.date2024pt_BR
dc.degree.graduationCiência da Computação: Ênfase em Engenharia da Computação: Bachareladopt_BR
dc.degree.levelgraduaçãopt_BR


Thumbnail
   

Este item está licenciado na Creative Commons License

Mostrar registro simples