Inclusão de Operadores Físicos de Junção por Similaridade em um SGBD Comercial - Vasconcelos, Guilherme; Kaster, Daniel (Anais do Simpósio Brasileiro de Sistemas de Informação (SBSI); 2017: Anais do XIII Simpósio Brasileiro de Sistemas de Informação, 2017)
Dados complexos, como vídeo, imagem e áudio, requerem formas particularizadas de consulta, armazenamento e indexação que SGBDs comerciais ainda não provêm. Uma das formas dos SGBDs oferecerem suporte a dados complexos é estender operadores relacionais para representar consultas por similaridade. Consultas por similaridade recuperam dados baseando-se em relações de similaridade entre dados armazenados, que são derivadas do conteúdo intrínseco dos dados. Um tipo importante de consulta por similaridade é a junção por similaridade, que retorna pares de elementos de dois conjuntos de entrada que atendem à condição de junção definida, que pode ser, por exemplo, se são mais próximos do que um dado limiar (junção por abrangência) ou se um elemento é um dos k-vizinhos mais próximos do outro (junção k-NN). Algoritmos existentes para a execução de junções por similaridade essencialmente consideram que os conjuntos/relações de entrada são lidos diretamente do disco. Contudo, a junção é uma das operações mais custosas em uma consulta e por isso atrasá-la no plano de execução e efetuar a junção sobre dados filtrados em memória normalmente gera ganho de desempenho. Neste artigo são apresentados algoritmos de junção por abrangência desenvolvidos para operar sobre dados filtrados em um SGBD comercial. A proposta é permitir a execução de junções por similaridade em posições diferentes no plano de consulta e avaliar como algoritmos distintos comportam-se em situações variadas. Resultados apresentados mostram que as melhores opções desenvolvidas são o algoritmo estado-da-arte DBSimJoin para entradas com filtros altamente seletivos e um algoritmo de junção baseada em índice para consultas em que a seletividade de junção é alta e um índice apropriado está disponível.