nÃo hà / Sistemas Gerenciadores de Bancos de Dados (SGBDs) permitem especificar comandos, por meio de linguagens declarativas de alto nÃvel, como SQL Structured Query Language), por exemplo, com a finalidade de executar diferentes operaÃÃes sobre os dados armazenados (consultas, atualizaÃÃes, inserÃÃes e remoÃÃes). O otimizador de consultas à o mÃdulo do SGBD
responsÃvel por escolher um plano de execuÃÃo eficiente para cada comando SQL a ser executado. Para este propÃsito, os otimizadores procuram, em um grande espaÃo de busca, o plano de execuÃÃo que proporcione o menor tempo de resposta. Dois comandos SQL sÃo considerados equivalentes se retornarem os mesmos resultados. Uma vez que a sintaxe de um comando
SQL influencia a escolha do plano de execuÃÃo, o otimizador pode produzir planos de execuÃÃo distintos para comandos SQL equivalentes. Consequentemente, comandos SQL equivalentes podem apresentar tempos de resposta diferentes. Este fato decorre das operaÃÃes utilizadas em cada comando SQL (ordenaÃÃes, agregaÃÃes, remoÃÃo da valores duplicados, utilizaÃÃo de tabelas temporÃrias, subconsultas, dentre outras). Neste cenÃrio, mesmo usando mÃtodos de acesso e estratÃgias de avaliaÃÃao suportadas pelo SGBD, Ãs vezes, os otimizadores nÃo conseguem produzir planos Ãtimos. Nestes casos, deve ser realizado o ajuste (ou sintonia) do comando SQL. Para isso, em geral, duas estratÃgias sÃo frequentemente utilizadas: (a) reescrever o comando SQL; e (b) aplicar Query Hinting. A tÃcnica de reescrita consiste em escrever um novo comando SQL, equivalente ao comando SQL original, mas que apresente um tempo de resposta menor. Entretanto, o processo de reescrita de comandos SQL Ãcomplexo e requer bastante conhecimento em diferentes Ãreas, tais como: (i) otimizaÃÃo de consultas, execuÃÃo de operadores de planos de consultas, configuraÃÃo de parÃmetros e outros aspectos internos dos bancos de dados; (ii) identificaÃÃo de Ãndices necessÃrios e outras eâstruturas de acesso; (iii) manutenÃÃo de estatÃsticas sobre os dados; e (iv) caracterÃsticas dos sistemas de armazenamento de dados. Este trabalho propÃe duas abordagens distintas para suportar a reescrita de comandos SQL em bancos de dados relacionais: uma abordagem assistida e outra automÃtica. As duas abordagens propostas utilizam um conjunto de heurÃsticas para realizar a reescrita dos comandos SQL. As heurÃsticas sÃo constituÃdas de regras que visam identificar oportunidades de sintonia nos comandos SQL. Com o objetivo de avaliar a eficiÃncia das abordagens propostas uma avaliaÃÃo experimental foi realizada. Os experimentos foram conduzidos em trs diferentes cenÃrios: i) com o benchmark TPC-H, ii) com a base de dados do TPC-H e uma carga de trabalho sintÃtica
e iii) com a base de dados do sistema SIG e uma carga de trabalho sintÃtica. Para cada cenÃrio, trÃs SGBDs foram avaliados: PostgreSQL, Oracle e SQL Server. Os resultados dos testes realizados mostram que tanto a abordagem assistida quanto a automÃtica proporcionaram ganhos de desempenho, reduzindo o tempo de resposta das cargas de trabalho avaliadas.
Identifer | oai:union.ndltd.org:IBICT/oai:www.teses.ufc.br:6524 |
Date | 30 November 2012 |
Creators | Arlino Henrique MagalhÃes de AraÃjo |
Contributors | Josà Maria da Silva Monteiro Filho, Ãngelo Roncaly Alencar Brayner, Javam de Castro Machado, Josà AntÃnio Fernandes de Macedo |
Publisher | Universidade Federal do CearÃ, Programa de PÃs-GraduaÃÃo em CiÃncia da ComputaÃÃo, UFC, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | Portuguese |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Format | application/pdf |
Source | reponame:Biblioteca Digital de Teses e Dissertações da UFC, instname:Universidade Federal do Ceará, instacron:UFC |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0025 seconds