Consultas por similaridade complexas em gerenciadores relacionais - Arantes, Adriano Siqueira (2005)
Em domínios de dados complexos (tais como, dados multimídia, sequências genômicas, entre outros), a similaridade entre elementos surge naturalmente como a maneira mais adequada para consultar esses dados. Existem, basicamente, dois tipos de consulta por similaridade: por abrangência e aos k-vizinhos mais próximos. Com o aumento no volume de dados complexos armazenado em Sistemas de Gerenciamento de Bases de Dados (SGBD), também chamados neste trabalho de gerenciadores, torna-se necessário prover suporte a esses tipos de dados. Um modo de dar suporte a tipos de dados complexos nos gerenciadores atuais é incluir consultas por similaridade em seu processador de consultas, e consequentemente, na álgebra relacional. Este fato leva à produção de maneiras para expressar tais consultas na linguagem do gerenciador como predicados em operações de seleção. Como uma consequência, os principais tipos de consultas por similaridade podem ser compostos em expressões mais complexas por meio de conjunções e disjunções booleanas entre eles, isto é, consultas por similaridade complexas. Entretanto, para que um gerenciador processe consultas por similaridade complexas eficientemente, é necessário dar suporte as etapas de otimização e execução na arquitetura do processamento de consultas. Embora diversos trabalhos envolvam o desenvolvimento de algoritmos para responder a uma simples e específica consulta por similaridade, não há um algoritmo genérico apto a manipular eficientemente consultas por similaridade complexas. Além disso, a otimização de consultas por similaridade é um aspecto ainda pouco explorado na literatura. Esta tese propõe um método estruturado de como analisar consultas por similaridade complexas. Esse método é utilizado para estender a álgebra relacional por meio de regras algébricas e determinar um pequeno conjunto de algoritmos que podem ser utilizados para responder a qualquer consulta por similaridade complexa. O método proposto também permite formalizar regras para estimar a seletividade dessas consultas auxiliando na previsão de custo. Para validar os conceitos apresentados, experimentos são realizados com conjuntos de dados reais e sintéticos destacando os resultados obtidos. As regras algébricas, os algoritmos e as métricas para se estimar a seletividade podem ser utilizados por um gerenciador relacional na etapa de otimização, para derivar planos de execução eficientes para consultas por similaridade complexas. Portanto, os aspectos abordados nesta tese contribuem para permitir o uso prático de consultas por similaridade em gerenciadores relacionais.