Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal
| Ano de defesa: | 2006 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Não Informado pela instituição
|
| Programa de Pós-Graduação: |
Não Informado pela instituição
|
| Departamento: |
Não Informado pela instituição
|
| País: |
Não Informado pela instituição
|
| Palavras-chave em Português: | |
| Link de acesso: | https://hdl.handle.net/1884/7868 |
Resumo: | Orientador : Marcos Sfair Sunye |
| id |
UFPR_a01386be8ed5e3947e0fd2a8d19b829d |
|---|---|
| oai_identifier_str |
oai:acervodigital.ufpr.br:1884/7868 |
| network_acronym_str |
UFPR |
| network_name_str |
Repositório Institucional da UFPR |
| repository_id_str |
|
| spelling |
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em InformáticaSunye, Marcos Sfair, 1964-Guttoski, Pryscila Barvick2024-10-16T17:56:20Z2024-10-16T17:56:20Z2006https://hdl.handle.net/1884/7868Orientador : Marcos Sfair SunyeDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 2006Inclui bibliografiaResumo: O papel da otimização de consultas é promover a recuperação dos dados desejados no menor tempo possível. Diversos algoritmos são utilizados nos atuais Sistemas Gerenciadores de Bancos de Dados (SGBD) para realizar a otimização de consultas e determinar a melhor ordem de execução das junções. Os algoritmos de programação dinâmica possuem um custo computacional elevado para determinar a solução ótima, enquanto os algoritmos heurísticos e aleatórios possuem custo computacional menor mas podem alcançar como resultado soluções que estão longe de serem ótimas. Encontrar um algoritmo que seja executado em um tempo razoável e que indique como resultado ao menos uma solução próxima da ótima significa obter um otimizador de consultas extremamente eficiente. Este trabalho apresenta a implementação do algoritmo de Kruskal no processo de otimização de consultas do PostgreSQL. Esse é um algoritmo guloso bottom-up que sempre executa primeiro a junção com maior ganho para formar a árvore geradora mínima do grafo. Dentre os algoritmos existentes foi escolhido o algoritmo de Kruskal por sua simplicidade de implementação e possibilidade de adequação da sua definição ao processo de otimização de consultas. O SGBD escolhido para a realização dos experimentos foi o PostgreSQL por possuir um conjunto complexo de recursos e por ser um software de código aberto. Na maioria dos experimentos realizados o algoritmo de Kruskal retornou os resultados esperados em tempos bastante próximos dos obtidos com os algoritmos implementados no PostgreSQL, com a vantagem da simplicidade de implementação do algoritmo de Kruskal e do seu espaço de busca reduzido enquanto apenas uma árvore de execução é gerada como solução ótima. Os resultados demonstram que o algoritmo de Kruskal é um algoritmo viável para a técnica de otimização de consultas, faltando no futuro definir quais conjuntos de consultas são beneficiados por este algoritmo.Abstract: The query optimization purpose is to retrieve the information as quickly as possible. Many different algorithms are implemented on the modern Database Management Systems (DBMS) aiming the query optimization and in order to define the optimizing join order. The optimization by Dynamic programming finds optimal solutions but has high costs of execution. On the other hand, heuristcs and randomized algorithms have lower execution costs, however there is no guarantee a good solution will be found using this methods. Therefore, developing an algorithm able to find a sub-optimal solution in are asonable time means to have an extremely efficient query optimizer. This work presents Kruskal’s algorithm in query optimization process, which is a bottom-up greedy algorithm that always performs most profitable joins first to reduce query graph to its minimal spanning tree. Kruskal’s algorithm has been chosen because of its easy implementation and because it is possible to apply its defition on query optimization process. PostgreSQL DBMS has been chosen to perform the experiments because it offers full support for many sophisticated features, is an open source relational database systemand performs its query optimization by using Dynamic programming and heuristics algorithms. These features allow a concrete comparison between our approach and the existing ones. On most of tests, Kruskal’s algorithm got the expected results in almost the same time as the results reached by default PostgreSQL’s optimization algorithms, with the advantage on the simplicity of Kruskal’s algorithm implementation and its reduced search space necessary in order to generate only one optimal execution query tree. The results confirm us that Kruskal’s algorithm is a viable method for query optimization while a future work is to perform a broad test to determine, more precisely, witch set of queries would be benefited by this algorithm.94f. : il.application/pdfDisponível em formato digitalSQL (Linguagem de programação de computador)Recuperação de dados (Computação)Algorítmos de computadorCiência da computaçãoOtimização de consultas no PostgreSQL utilizando o algoritmo de Kruskalinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisporreponame:Repositório Institucional da UFPRinstname:Universidade Federal do Paraná (UFPR)instacron:UFPRinfo:eu-repo/semantics/openAccessORIGINALdissertacao.pdfapplication/pdf831424https://acervodigital.ufpr.br/bitstream/1884/7868/1/dissertacao.pdfbceee72843f47054d3af029ee642405bMD51open accessTEXTdissertacao.pdf.txtExtracted Texttext/plain196429https://acervodigital.ufpr.br/bitstream/1884/7868/2/dissertacao.pdf.txt4e662b17f82e8feef9fde26d4eac893eMD52open accessTHUMBNAILdissertacao.pdf.jpgGenerated Thumbnailimage/jpeg1166https://acervodigital.ufpr.br/bitstream/1884/7868/3/dissertacao.pdf.jpgc516dbfa1f7c0fd39cd85b901778be91MD53open access1884/78682024-10-16 14:56:20.663open accessoai:acervodigital.ufpr.br:1884/7868Repositório InstitucionalPUBhttp://acervodigital.ufpr.br/oai/requestinformacaodigital@ufpr.bropendoar:3082024-10-16T17:56:20Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR)false |
| dc.title.pt_BR.fl_str_mv |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| title |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| spellingShingle |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal Guttoski, Pryscila Barvick SQL (Linguagem de programação de computador) Recuperação de dados (Computação) Algorítmos de computador Ciência da computação |
| title_short |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| title_full |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| title_fullStr |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| title_full_unstemmed |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| title_sort |
Otimização de consultas no PostgreSQL utilizando o algoritmo de Kruskal |
| author |
Guttoski, Pryscila Barvick |
| author_facet |
Guttoski, Pryscila Barvick |
| author_role |
author |
| dc.contributor.other.pt_BR.fl_str_mv |
Universidade Federal do Paraná. Setor de Ciências Exatas. Programa de Pós-Graduação em Informática |
| dc.contributor.advisor1.fl_str_mv |
Sunye, Marcos Sfair, 1964- |
| dc.contributor.author.fl_str_mv |
Guttoski, Pryscila Barvick |
| contributor_str_mv |
Sunye, Marcos Sfair, 1964- |
| dc.subject.por.fl_str_mv |
SQL (Linguagem de programação de computador) Recuperação de dados (Computação) Algorítmos de computador Ciência da computação |
| topic |
SQL (Linguagem de programação de computador) Recuperação de dados (Computação) Algorítmos de computador Ciência da computação |
| description |
Orientador : Marcos Sfair Sunye |
| publishDate |
2006 |
| dc.date.issued.fl_str_mv |
2006 |
| dc.date.accessioned.fl_str_mv |
2024-10-16T17:56:20Z |
| dc.date.available.fl_str_mv |
2024-10-16T17:56:20Z |
| dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
| dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
| format |
masterThesis |
| status_str |
publishedVersion |
| dc.identifier.uri.fl_str_mv |
https://hdl.handle.net/1884/7868 |
| url |
https://hdl.handle.net/1884/7868 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.relation.pt_BR.fl_str_mv |
Disponível em formato digital |
| dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
94f. : il. application/pdf |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFPR instname:Universidade Federal do Paraná (UFPR) instacron:UFPR |
| instname_str |
Universidade Federal do Paraná (UFPR) |
| instacron_str |
UFPR |
| institution |
UFPR |
| reponame_str |
Repositório Institucional da UFPR |
| collection |
Repositório Institucional da UFPR |
| bitstream.url.fl_str_mv |
https://acervodigital.ufpr.br/bitstream/1884/7868/1/dissertacao.pdf https://acervodigital.ufpr.br/bitstream/1884/7868/2/dissertacao.pdf.txt https://acervodigital.ufpr.br/bitstream/1884/7868/3/dissertacao.pdf.jpg |
| bitstream.checksum.fl_str_mv |
bceee72843f47054d3af029ee642405b 4e662b17f82e8feef9fde26d4eac893e c516dbfa1f7c0fd39cd85b901778be91 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFPR - Universidade Federal do Paraná (UFPR) |
| repository.mail.fl_str_mv |
informacaodigital@ufpr.br |
| _version_ |
1847526018783379456 |