[en] AUTONOMIC INDEX CREATION IN DATABASES
[pt] CRIAÇÃO AUTÔNOMA DE ÍNDICES EM BANCOS DE DADOS
Descripción
[pt] A escolha e materialização de índices são atividades comumente realizadas por administradores de bancos de dados (DBAs) para acelerar o processamento de aplicações de bancos de dados. Devido à complexidade da tarefa de seleção de índices e à pressão por maior produtividade sobre os profissionais que realizam sintonia, diversos trabalhos na literatura e em sistemas comerciais procuram obter ferramentas que possam apoiar o DBA na escolha dos melhores índices para uma dada carga de trabalho. Classificamos estes trabalhos como sendo de auto-sintonia local, uma vez que se focam em um problema de sintonia específico, em oposição a trabalhos de auto-sintonia global, que almejam obter um desempenho aceitável para o sistema como um todo. Esta dissertação propõe duas arquiteturas que permitem automatizar completamente a sintonia de índices. A indepedência de intervenção humana é obtida através do uso de agentes de software. A combinação de agentes com SGBDs torna os sistemas mais autônomos e capazes de auto-sintonia. Implementamos uma das arquiteturas propostas no SGBD de código fonte aberto PostgreSQL e obtivemos resultados experimentais com uma carga transacional que mostram a viabilidade de nossa abordagem.[en] The choice and materialization of indexes are activities commonly done by database administrators to speed up database application processing. Due to the complexity of the index selection task and to the pressure for productivity increase put on tuning professionals, many works on the literature and on commercial systems seek for tools that can help the DBA choose the best indexes for a given workload. We classify these works as local self- tuning, once they are interested in a specific tuning problem, in opposition to global self-tuning work, which is targeted at obtaining acceptable performance for the system as a whole. This dissertation proposes two architectures that allow the complete automation of the index tuning task. Human intervention independence is achieved through the use of software agents. The combination of agents and DBMS makes systems more autonomous and self-tuning. We have implemented one of the proposed architectures in the open source DBMS PostgreSQL and obtained experimental results with a transactional workload that show the feasibility of our approach.