I-DWE: Uma Estrutura de Indexação para Data Warehouse Espacial Thiago Luís Lopes Siqueira 1 Orientador: Ricardo Rodrigues Ciferri 2 Co-orientadora: Valéria Cesário Times 3 1 Programa de Pós-graduação em Ciência da Computação 1,2 Universidade Federal de São Carlos Departamento de Computação São Carlos, SP, Brasil 3 Universidade Federal de Pernambuco Centro de Informática Recife, PE, Brasil Nível: Mestrado Ingresso: março de 2007 Previsão de conclusão: março de 2009 Etapas concluídas: defesa da proposta em março de 2008 Resumo Nos dias de hoje se destacam os benefícios trazidos pelas tecnologias de data warehouse (DW) e sistemas de informações geográficas (SIG) no tocante ao suporte à decisão. Enquanto DW provê eficaz suporte a consultas multidimensionais, SIG favorecem a análise espacial. Este destaque tem despertado o interesse de pesquisadores por um tema que abrange ambas as tecnologias: o data warehouse espacial (DWE), que tem por objetivo viabilizar análises multidimensionais e espaciais. Sobre esta base de dados incidem consultas cujo predicado espacial compreende regiões arbitrárias, ao invés de locais predefinidos. Neste caso, os métodos de agregação prévia verificados no DW convencional, como a materialização de visões, são inadequados. Este fato motiva o uso de estruturas de indexação com o intuito de prover um processamento eficiente destas consultas. O presente trabalho propõe a criação de uma estrutura de indexação para DWE sob o modelo relacional, denominada I-DWE. Sua implementação consistirá na adaptação do índice bitmap, o qual já é empregado na indexação de DW convencionais. A validação do índice proposto será feita usando DWE com dados reais e sintéticos. Nos testes de desempenho, almeja-se comparar a eficiência do I-DWE à eficiência da ar-tree, único índice para DWE proposto até então na literatura. Palavras-chave: data warehouse espacial, indexação, índice bitmap. 1 Os autores agradecem o apoio financeiro da CAPES, CNPq, FINEP e FAPESP. Esta pesquisa de Mestrado é financiada pelo Observatório da Educação (http://observatorio.inep.gov.br/) no âmbito do Projeto Web-PIDE.
1. Introdução Um data warehouse espacial (DWE) possui os seguintes aspectos de um data warehouse convencional (DW) [8]: é orientado ao assunto e histórico, mantém dados integrados e nãovoláteis e sofre inclusão de dados periodicamente. No modelo relacional, o DWE é projetado com tabelas de fatos e de dimensão, estendendo o esquema estrela [1, 4, 14]. Um DWE consiste em um DW que armazena dados espaciais em uma ou mais dimensões ou em pelo menos uma medida [1, 4]. Os dados espaciais são abstrações geométricas e topológicas dos fenômenos do mundo real. Ponto, linha e polígono são exemplos de tipos de dados espaciais. Os benefícios proporcionados pelo DW e pelos sistemas de informações geográficas (SIG), no tocante ao apoio à decisão, motivaram integrar ambas as tecnologias. Um DW, aliado ao OLAP (On-Line Analytical Processing) viabiliza consultas multidimensionais [8]. Já os SIG favorecem a análise espacial. O data warehouse espacial, resultado desta integração, é uma base de dados que herda as características de DW/OLAP e dos SIG. Desta forma, o DWE propicia consultas analíticas multidimensionais com predicado espacial. As consultas no DWE envolvem os operadores OLAP como roll-up, drill-down e sliceand-dice [8]. Da mesma forma, sobre o DWE incidem consultas espaciais [5], com janelas de consulta arbitrárias, como point query, intersection e containment range query. Tais janelas de consulta não envolvem locais predefinidos, logo os métodos de agregação prévia do DW convencional, como a materialização de visões [7], são inadequados para responder tais consultas. Além disso, como os dados espaciais têm maior complexidade que os dados convencionais [12], eles requerem maior espaço para armazenamento. Portanto, é desejável evitar a redundância dos dados espaciais no DWE [4]. Diante deste cenário, é essencial prover mecanismos que tornem mais ágeis as consultas envolvendo operadores OLAP e um predicado espacial. Neste perfil se encaixam as estruturas de indexação. Embora a indexação de dados espaciais seja garantida por métodos de acesso multidimensionais [5], estes não são adequados ao DWE. A árvore-r [6], por exemplo, é indicada para conjuntos de dados altamente dinâmicos, o que não é o caso do DWE. Ainda, a árvore-r e suas variantes têm o desempenho deteriorado ao indexar múltiplas dimensões. A multidimensionalidade, contudo, não é obstáculo para o desempenho do índice bitmap [10, 11, 15]. Este índice é empregado na indexação da junção estrela e de tabelas de dimensão em DW convencionais. Porém, não se observou na literatura o uso ou a adaptação do índice bitmap para DWE. A literatura consultada aponta a existência de apenas um índice específico para DWE: a ar-tree [13]. As limitações da ar-tree são destacadas na Seção 2. O presente trabalho propõe a criação de uma estrutura de indexação para DWE sobre o modelo relacional, denominada I-DWE. Sua implementação é uma adaptação do índice bitmap, visando conferir um bom desempenho no processamento de consultas com predicado espacial. O I-DWE será validado usando DWE com dados reais e sintéticos. Os testes de desempenho compararão a eficiência do I-DWE frente à ar-tree. Este artigo está estruturado da seguinte forma. A Seção 2 descreve trabalhos correlatos, enquanto a Seção 3 destaca a fundamentação teórica para a proposta do I-DWE. A Seção 4 descreve detalhes do I-DWE. Já a Seção 5 apresenta as considerações finais deste artigo. 2. Trabalhos Correlatos A ar-tree [13] é um índice para DWE relacional sobre o atributo de menor granularidade da dimensão espacial. Ela agrupa os objetos espaciais como a árvore-r para criar uma hierarquia implícita entre eles. Cada entrada possui um retângulo envolvente mínimo (MBR) que armazena o valor da função de agregação para todos os objetos nele incluídos. A raiz constitui o maior nível da árvore, e cada MBR em um nível n-1 pertence a exatamente um MBR do nível n. Assim, o índice pode responder a uma consulta com agregação sem acessar todos os objetos incluídos pelo MBR, pois parte da resposta pode ser encontrada nos nodos
intermediários da árvore. Isto favorece as operações drill-down e roll-up. Quando há uma ou mais dimensões convencionais no esquema estrela, mantém-se em cada entrada da árvore um ponteiro para um arranjo multidimensional. Este arranjo indica os valores agregados das medidas nos domínios das outras dimensões. Em suma, a ar-tree representa o cubo de dados, isto é, possui todas as agregações das dimensões do DWE. Porém, é orientada ao processamento da dimensão espacial. Se a consulta incide sobre uma dimensão convencional, ela requer o acesso ao arranjo multidimensional e, por conseguinte, um custo adicional. Além disso, a ar-tree obtém um melhor desempenho estabelecendo hierarquias ad-hoc entre os objetos espaciais. Tais hierarquias são usadas na execução de operadores OLAP com predicado espacial. Quando as hierarquias são previamente conhecidas no projeto do DWE, é preferível acessar as visões materializadas à ar-tree [13]. Esta materialização pode causar um impacto negativo em termos de armazenamento, devido à complexidade e à redundância de dados espaciais. Também, diversos domínios de aplicações, para os quais existem hierarquias pré-definidas, ficam restritas ao uso de visões materializadas para processar consultas envolvendo operadores OLAP com predicado espacial. Nota-se a carência de um índice que trate hierarquias predefinidas. Este projeto de mestrado visa propor um índice para suprir esta carência, bem como manipular dimensões espaciais e convencionais de maneira similar. 3. Fundamentação Teórica para o I-DWE A estrutura de indexação proposta, I-DWE (Índice para Data Warehouse Espacial), atua sobre DWE projetados usando o arcabouço GeoDWFrame [4], e se baseia na implementação de índice bitmap chamada FastBit [10]. 3.1. GeoDWFrame Em um DWE é desejável realizar consultas sobre regiões ad-hoc. Para permitir esta funcionalidade, GeoDWFrame recomenda que a menor granularidade espacial seja do tipo espacial ponto. Desde que um ponto corresponde à menor localização espacial de um fato, permite-se a agregação em feições com mais dimensões, como as linhas e os polígonos. A Figura 1 exibe um esquema estrela estendido característico de GeoDWFrame, no domínio do estudo de bacias hidrográficas. Figura 1 Esquema estrela estendido para o DWE sobre bacias hidrográficas. Localização é uma dimensão geográfica composta que mantém descrições das localizações dos pontos de coleta e armazena referências para as dimensões geográficas primitivas PontoColeta, Rio, Bacia, Cidade e Estado. Estas, por sua vez, mantêm as chaves e as geometrias dos objetos geográficos. A dimensão Tempo é convencional. Nota-se a normalização das geometrias dos objetos espaciais, visando reduzir a redundância no armazenamento de dados espaciais. São duas as hierarquias de atributos: Bacia Rio PontoColeta e Estado Cidade PontoColeta. Segundo [7], Q 1 Q 2 se e somente se Q 1 pode ser respondida usando apenas os resultados de Q 2 e Q 1 Q 2. Outros modelos de dimensão espacial propostos por GeoDWFrame são descritos em [4].
3.2. O índice bitmap O índice bitmap tradicional indexa um único atributo X de uma tabela [10, 11, 15]. Cada valor v deste atributo é associado a um vetor de bits, ou simplesmente vetor. Este vetor especifica o conjunto de tuplas em que X = v. A quantidade de linhas na tabela e no vetor é a mesma. Se a k-ésima linha do vetor associado a v tem o valor 1, é porque na k-ésima linha da tabela ocorre X = v. No contexto de um DW, o índice bitmap pode indexar a junção estrela [11], auxiliado pela existência das hierarquias de atributos. Ademais, os atributos que não fazem parte da junção estrela também podem ser indexados. Na Figura 2, os vetores b A, b B e b C pertencem ao índice bitmap do atributo Localização_PK, que faz parte da junção estrela. Eles subsidiam a obtenção dos vetores b C1 e b C2, que indexam o atributo Cidade_FK. Este atributo, segundo a Figura 1, não participa diretamente da junção estrela, mas pode ser indexado porque Cidade_FK Localização_PK. Por exemplo, b C1 = b A OR b B. Por outro lado, a atualização do índice bitmap é custosa. Suponha a inserção de (9, Z, 45) na tabela de fatos da Figura 2. Isto exige a criação do vetor b Z com o conteúdo 0000001, e a anexação de 0 ao final de b A, b B e b C. Se a localização Z corresponde à cidade C2, então b C2 deve ser atualizado para o resultado de b C OR b Z. Também, uma alta cardinalidade do atributo indexado afeta negativamente a capacidade de armazenamento, pois os vetores se tornam esparsos. Três técnicas são usadas no sentido de atenuar os efeitos da alta cardinalidade [15]: codificação, binning e compressão. Localização Fatos Vetores Localização_PK Vetores Cidade_FK Localização_PK Cidade_FK Tempo_FK Localização_FK Fatos b A b B b C b C1 b C2 A C1 1 B 20 0 1 0 1 0 B C1 11 A 40 1 0 0 1 0 C C2 2 C 70 0 0 1 0 1 1 C 50 0 0 1 0 1 11 B 60 0 1 0 1 0 2 A 85 1 0 0 1 0 Figura 2 Uma porção dos dados do DWE da Figura 1 e seus índices bitmap. 4. I-DWE Uma concepção preliminar da proposta de I-DWE é descrita a seguir. Objetiva-se desfrutar da vantagem do índice bitmap de não ter seu desempenho degenerado frente ao aumento do número de dimensões. Também, I-DWE deve se valer do índice bitmap para executar os operadores OLAP e agregar dados segundo hierarquias de atributos predefinidas, em contraste com a ar-tree. Para herdar este legado de bitmap, FastBit será usado. I-DWE requer ainda um recurso para processar o predicado espacial fazendo poucos acessos aos objetos espaciais originais. Como não existe consenso sobre o significado da medida espacial [1, 9, 14], este trabalho não investigará medidas espaciais, pois será adotado o modelo de DWE de [4]. 4.1. A estrutura de dados do I-DWE e a construção do índice Conceitualmente, I-DWE é um arranjo do tipo sbitvector (Spatial Bitvector). Nós propomos que sbitvector tenha três campos: um valor de chave da dimensão geográfica primitiva, um ponteiro para um vetor de bits e um MBR. O ponteiro referencia o vetor associado ao valor de chave. Este vetor é construído por FastBit e se encontra em um arquivo em disco. O MBR é o MBR do objeto espacial identificado pelo valor da chave, na dimensão geográfica primitiva. Por exemplo, suponha que o vetor b 3 representa as ocorrências de Rio_PK = 3 na tabela de fatos. Usando FastBit para indexar Rio_PK, b 3 é criado e armazenado em um arquivo em disco. Em um objeto do tipo sbitvector, o valor de chave é 3. Logo, o ponteiro referencia o vetor b 3, e o MBR é o da geometria identificada por Rio_PK = 3 na dimensão. 4.2. O processamento de consultas usando I-DWE Seja uma consulta com um predicado convencional e um predicado espacial. I-DWE efetua o
processamento do predicado espacial de uma consulta, usando a tabela de dimensão espacial. Ao término deste processamento, obtém-se um vetor B E que indica em quais tuplas da tabela de fatos o predicado espacial é válido. O processamento do predicado convencional fica a cargo exclusivamente de FastBit, resultando em um vetor B C que indica quais tuplas da tabela de fatos satisfazem o predicado convencional. A resposta da consulta é dada por B E AND B C. Deste modo, são exploradas as vantagens de bitmap na indexação de dados convencionais. O processamento de consultas usando I-DWE é explicado com um exemplo. Considere a consulta: encontre o total de fatos ocorridos em cidades que intersectam JC durante T1. Seu predicado espacial é mostrado na Figura 3a. Com o índice, ele pode ser interpretado como exibe a Figura 3b. O predicado espacial é cidades que intersectam JC, e o convencional é durante T1. Os passos do algoritmo de I-DWE para a resolução do predicado espacial são listados na Figura 4. (a) Consulta sobre o DWE (b) Consulta sob a ótica de I-DWE Figura 3 Exemplo de predicado espacial de uma consulta sobre o DWE da Figura 1. 1) Criar uma coleção de valores de chaves, inicialmente vazia, a qual conterá os candidatos à resposta do predicado espacial da consulta: coll { } 2) Testar a janela de consulta em relação ao MBR de cada entrada do arranjo I-DWE. Se o relacionamento for satisfeito, colecionar o valor de chave correspondente. Caso contrário, testar o MBR da próxima entrada: mc1 intersecta JC, então coll coll {C1}; mc2 intersecta JC, então coll coll {C2}; mc3 intersecta JC, então coll coll {C3}; mc4 não intersecta JC, então testar o MBR da próxima entrada (não há); encerrar. 3) Refinamento da consulta. Os valores das chaves presentes na coleção são usados para buscar as geometrias associadas na tabela de dimensão. Cada geometria é confrontada com a janela de consulta, para verificar se o relacionamento espacial é satisfeito. Se o relacionamento não ocorre, o valor de chave correspondente à geometria é eliminado da coleção. coll = {C1, C2, C3}; gc1 intersecta a JC; gc2 não intersecta a JC, então coll coll - {C2}; gc3 intersecta a JC. 4) A coleção resultante indica quais vetores devem se submeter a um OR para a obtenção de B E (vetor do predicado espacial). coll = {C1, C3}; B E b C1 OR b C3 Figura 4 Algoritmo de I-DWE para a resolução do predicado espacial de uma consulta sobre um DWE. I-DWE visa inicialmente processar as operações drill-down e roll-up. Almeja-se processar também outras operações OLAP no futuro. Para tanto, os atributos das hierarquias devem ser indexados por bitmaps de junção estrela [11, 15]. O exemplo anterior mostra o suporte ao predicado intersection range query [5]. Porém, pretende-se investigar como viabilizar os operadores topológicos mínimos propostos em [3]. Assim, I-DWE é adequado para hierarquias predefinidas, ao contrário da ar-tree. Ainda, serão investigadas alternativas para contornar as deficiências do índice bitmap, a saber: custo de atualização, grande espaço alocado e grande quantidade de vetores em função da cardinalidade do atributo indexado. 4.3. Validação Para validar a estrutura proposta serão realizados testes de desempenho usando o benchmark SSB (Star Schema Benchmark) [2], o qual será estendido para incluir atributos espaciais. As
consultas serão compostas por intersection range queries cujas janelas de consultas retangulares terão o seu tamanho proporcional à granularidade do dado geométrico da dimensão espacial. Serão coletados o tempo gasto, o número de acessos a disco e o espaço para armazenamento nas etapas de construção do índice e processamento de consultas. 5. Considerações finais Este artigo apresentou a proposta da estrutura de indexação para DWE relacional chamada I-DWE. São contribuições de I-DWE: (a) representar o predicado espacial por um vetor, que pode ser operado junto a vetores do predicado convencional, viabilizando assim as consultas OLAP com predicado espacial; (b) ser um índice adequado para hierarquias de atributos predefinidas, constituindo uma alternativa à materialização de visões; (c) basear-se no índice bitmap de junção estrela, e evitar esta custosa operação entre tabelas; (d) usar uma aproximação (i.e., MBR) do objeto espacial, assim apenas os objetos candidatos são submetidos à custosa verificação do relacionamento espacial. Atualmente, I-DWE está em fase de implementação. Algumas questões dependem de futuros testes de desempenho. Uma delas diz respeito ao percurso seqüencial realizado (passo 2 da Figura 4) ao testar a janela de consulta e o MBR segundo um relacionamento espacial. Será verificado se este aspecto não degenera a eficiência do índice. 6. Referências [1] BIMONTE, S.; TCHOUNIKINE, A., MIQUEL, M. Towards a Spatial Multidimensional Model. DOLAP 2005, Bremen, Germany: ACM, 2005. p. 39-46. [2] CHEN, X.; O NEIL, P.; O NEIL, E. Adjoined Dimension Column Clustering to Improve Data Warehouse Query Performance. 24 th INTERNATIONAL CONFERENCE ON DATA ENGINEERING. Cancún, México, : IEEE Computer Society, 2008. p. 1409-1411. [3] CLEMENTINI, E.; DI FELICE, P.; VAN OOSTEROM, P. A small set of formal topological relationships suitable for end-user interaction. INTERNATIONAL SYMPOSIUM ON ADVANCES IN SPATIAL DATABASES, Singapore : Springer, 1993. [4] FIDALGO, R. N. et al. GeoDWFrame: a framework for guiding the design of geographical dimensional schemas. DaWak 2004. Zaragoza, Spain. 2004. [5] GAEDE, V.; GÜNTHER, O. Multidimensional Access Methods. ACM Computing Surveys, v.30, n.2, p.170-231, June, 1998. [6] GUTTMAN, A. R-trees: a dynamic index structure for spatial searching. ACM SIGMOD Record, v.14, n.2, p.47 57, 1984. [7] HARINARAYAN, V.; RAJARAMAN, A.; ULLMAN, J. D. Implementing data cubes efficiently. ACM SIGMOD Record, v.25, n.2, p.205-216, 1996. [8] KIMBALL, R.; ROSS, M. The Data Warehouse Toolkit. 2nd. New York: Wiley, 2002. [9] MALINOWSKI, E.; ZIMÁNYI, E. Representing spatiality in a conceptual multidimensional model. 12th ANNUAL ACM INTERNATIONAL WORKSHOP ON GEOGRAPHIC INFORMATION SYSTEMS (ACM GIS). Washington DC, USA: ACM, 2004. p.12-22. [10] O NEIL, E.; O NEIL, P.; WU, K. Bitmap Index Design Choices and Their Performance Implications. In: 11TH INTERNATIONAL DATABASE ENGINEERING AND APPLICATIONS SYMPOSIUM. Banff, Canada: IEEE Computer Society, 2007. p. 72-84. [11] O'NEIL, P.; GRAEFE, G. Multi-table joins through bitmapped join indices. ACM SIGMOD Record, v.24, n.3, p.8-11, 1995. [12] OPENGIS standards and specifications. <http://www.opengeospatial.org/standards>. [13] PAPADIAS, D., et al. Efficient OLAP Operations in Spatial Data Warehouses. 7th INTERNATIONAL SYMPOSIUM ON SPATIAL AND TEMPORAL DATABASES. Redondo Beach, CA, USA: Springer- Verlag, 2001. p.443-459. [14] STEFANOVIC, N.; HAN, J.; KOPERSKI, K. Object-Based Selective Materialization for Efficient Implementation of Spatial Data Cubes. IEEE Transactions on Knowledge and Data Engineering, v.12, n.6, p.938-958, 2000. [15] STOCKINGER, K.; WU, K. Bitmap Indices for Data Warehouses. In: Data Warehouses and OLAP: Concepts, Architectures and Solutions. Hershey, USA: IRM Press,2007.p.157-178.