Uma Avaliação Experimental Sobre Técnicas de Indexação em Banco de Dados Orientados a Objetos Eduardo Ogasawara & Marta L. Q. Mattoso / Programa de Engenharia de Sistemas e Computação COPPE/UFRJ
IDXGOA - Introdução Motivação m Necessidade de índices para os novos recursos existentes em sistemas orientados a objetos n Expressões de Caminho n Herança n Métodos m Existência de diversas propostas para estruturas de indexação m Pouca experiência com os índices propostos para sistemas orientados a objetos n Conhecimentos obtidos por simulação em detrimento da experimentação
IDXGOA - Introdução Objetivo do trabalho m Avaliar as novas estruturas de indexação m Selecionar índices para GOA++ m Auxiliar o DBA na escolha dos índices Trabalho realizado m Projeto de uma arquitetura de indexação no GOA++ m Definição de um ambiente para medições m Análise dos resultados obtidos
IDXGOA - Classificação dos Índices Estruturais Índices para Hierarquia de Classes m SCI - Índice para cada classe m CHI - Índice para Hierarquia de classes m Htree - Árvore H Aninhada tree - Índice de Árvore para hierarquia de classes Índices para Expressão de Caminho m PX - Índice para Expressão de Caminho m NX - Índice Aninhado m MX - Índice Múltiplo Índices Híbridos m IMX - Multi-Índice de Herança m NIX - Índice Aninhado de Herança
Aplicação para estudo de caso InstânciasModelo
SCI: Índice para cada Classe Estrutura Exemplo
CHI: Índice para Hierarquia de Classes Estrutura Exemplo
IDXGOA - Comparação entre Índices Hierárquicos
IDXGOA - Arquitetura do GOA++ Servidorpáginas/cache GerenteObjetos Núcleo do GOA++ Servidor TCP/IP para o GOA Cliente C++ Cliente Java Base de Objetos Processador Consultas Gerente Esquema IDXGOA
IDXGOA - Modelagem da Estrutura de Indexação GoaIndiceCHI > GoaIndicePX2 > GoaIndiceMX > GOAIndiceNX > GOAIndiceIMX > GOAIndiceNIX > GoaIndiceGoaRegistroFolha GoaChave 0..1 GoaNoFolha 1..* GoaRegistroIntermediario 0..1 GoaNoIntermediario 1..* 0..1 GoaArvoreB raiz TIndiceSimplesTemplate GOAIndiceSCI > TIndiceDicionarioTemplate > GoaIndiceFz
Plataforma: Windows NT Server Pentium II 266MHz IDXGOA - Ambiente para Medições Uso da Base de Dados OO7 no GOA++
Resultados: Consultas pontuais Deve-se usar sempre o CHI.
Resultados: Consultas por faixa - baixa repetição de valores Até quatro classes, pode-se usar o SCI. Aumentando o número de classes envolvidas, deve-se usar o CHI.
Resultados: Consultas por faixa - alta repetição de valores Deve-se usar sempre o SCI.
IDXGOA - Conclusões
IDXGOA - Trabalhos futuros Índices para expressões de caminho m Avaliação de desempenho dos índices PX, MX e NX índices híbridos m Avaliação de desempenho dos índices NIX e IMX m Comparação de desempenho do uso conjunto de índices de hierarquia de classes e expressões de caminho versus a utilização única de um índice híbrido