Pesquisa

Outer-Tuning: Framework para apoiar a sintonia fina de banco de dados

Há uma crescente demanda por ferramentas que automatizem tarefas complexas relacionadas ao SGBD, tais como aquelas relacionadas às atividades de sintonia fina. Nestas ferramentas, existe uma falta de clareza sobre as decisões e as ações que são tomadas de forma automática. Essa tese propõe um framework para execução das heurísticas de sintonia fina para apoiar o DBA (e possivelmente outros usuários) nas escolhas envolvidas na atividade de sintonia fina. Esse trabalho de pesquisa inclui uma proposta de ontologia para a sintonia fina (automática ou não) que proporciona uma abordagem formal para decisões e inferências. A contribuição inovadora dessa abordagem é oferecer transparência e confiabilidade acerca das alternativas disponíveis para possíveis cenários no SGBD, por meio de justificativas concretas para as decisões que foram tomadas. Além disso, através do uso de uma ontologia específica, proporcionar a geração automática de novas práticas de sintonia fina, que podem ser obtidas a partir das práticas existentes (uso de inferências) ou de novas regras e conceitos que venham a surgir no futuro. Esta abordagem permite também a realização de combinações de heurísticas de sintonia fina em alto nível.

CM-OPL: An Ontology Pattern Language for the Configuration Management Task

Embora a maioria das metodologias para o desenvolvimento de ontologias enfatize o reuso de ontologias existentes, ainda é frequentemente complexo para as pessoas entenderem as ontologias disponíveis e minimizar as redundâncias via análise ontológica. Nesse contexto, desenvolveu-se a CM-OPL, uma OPL (Ontology Pattern Language) para facilitar a construção de uma ontologia bem fundamentada no domínio de gestão de configuração.

DBX

Idealizadores: Prof. José Maria Monteiro (UFC); Prof. Ângelo Brayner (UFC); Prof. Sérgio Lifschitz (Puc-Rio)

DBX é uma ferramenta para a manutenção automática do projeto físico em bancos de dados relacionais. DBX é considerado um framework dado que pode ser instanciado para atividades distintas de sintonia fina envolvendo visões materializadas e índices, e potencialmente outras ações. É uma ferramenta não-intrusiva, independente de um SGBD particular, e que pode ser executada de forma contínua e sem necessidade de intervenção de um DBA. Ela permite modificar o projeto físico e, eventualmente, melhorar o desempenho de um sistema de banco de dados por meio da manutenção de índices e visões materializadas, reagindo dinamicamente às alterações na carga de trabalho. As ações específicas de auto-sintonia são determinadas em função da análise dos planos de execução capturados e possíveis modificações em planos hipotéticos. A ferramenta é implementada na linguagem Java e totalmente desacoplada de um SGBD específico.

PostgreSQL - Extensões

Idealizadores: Prof. Marcos Salles (Universidade de Copenhagen); Maira Noronha; Prof. Sérgio Lifschitz (Puc-Rio)

O conceito de índices hipotéticos foi proposto inicialmente em [Frank, Omiecinski, Navathe, 92]. Índices hipotéticos são estruturas de índices virtuais, ou seja, existentes somente no catálogo do banco de dados. Este tipo de índice não existe fisicamente e, portanto, não podem ser utilizadas para responder consultas. Seu maior benefício é o fato de possibilitar uma maneira de simular e descobrir como seria o plano de execução gerado pelo processador de consultas caso os índices hipotéticos fossem reais (físicos). Consequentemente, pode-se descobrir que índices melhorariam o desempenho de uma consulta sem o custo da efetiva criação destes índices. Certamente esta é uma funcionalidade extremamente importante para DBAs, os quais são responsáveis pelos ajustes de performance do banco de dados. 
Nosso grupo de pesquisa estendeu o PostgreSQL 7.4 beta 3, o PostgreSQL 8 e o PostgreSQL 9.0.1 a fim de incluir a noção de índices hipotéticos. Na nossa versão, foram introduzidos três novos comandos: create hypothetical index; drop hypothetical index; e explain hypothetical.