• Aucun résultat trouvé

III. 2A Remplissage d’une plaque multi-puits

IV.3. D Limitation de la méthode

Técnicas e índices para DWs e DWEs foram vistos nos itens anteriores deste capítulo. DWETs representam novos desafios (por combinar colunas com tipos de dados espaciais e temporais) requerendo também a utilização de técnicas e índices específicos às suas características. Alguns desses (a serem vistos a seguir) auxiliarão na execução de consultas STOLAP pertinentes aos DWETs.

a3DR-tree

Papadias et. al. (2002) vêm nos mostrar duas extensões do índice aR-tree que conferem a este a possibilidade de lidar com dados históricos. A primeira estratégia utilizada foi chamada a3DR-tree e consiste em modificar os nós da aR- tree para incluir o intervalo temporal e, a cada alteração dos dados agregados, incluir um novo registro ao nó correspondente da árvore. A Figura 14a mostra um exemplo de cubo de dados a ser mapeado para as estruturas aqui apresentadas e a Figura 14b a distribuição espacial das regiões do cubo de dados assim como uma possível janela de consulta aos dados.

A Figura 15 mostra a a3DR-tree resultante do mapeamento do exemplo da Figura 14a onde pode-se notar como os nós da árvore vão acumulando registros à medida que os dados agregados vão se alterando nos intervalos de tempo.

CAPÍTULO 3 - Processamento de Consultas Análiticas 49

Os autores ponderam que a a3DR-tree possui vantagens ao processar uma consulta por já conter os dados agregados nas regiões podendo evitar o gasto ao se processar registros próximos em termos espaciais, mas possivelmente separados fisicamente no espaço em disco (chamado column scanning). Como desvantagens, são citados o desperdício de espaço ao se armazenar o mesmo MBR para uma dada região a cada registro inserido e o tamanho exagerado da estrutura dos nós contendo poucas ligações entre eles (chamado fanout), o que compromete a execução das consultas.

Figura 14: Cubo de dados e uma possível janela de consulta sobre estes para os exemplos da a3DR-tree e aRB-tree – adaptada de Papadias et al. (2002)

CAPÍTULO 3 - Processamento de Consultas Análiticas 50

aRB-tree

Avançando nas suas ideias, Papadias et al. (2002) mostram uma segunda extensão do índice aR-tree que tenta solucionar os problemas encontrados pela a3DR-tree. A estratégia utilizada foi incluir estruturas de árvore binária para informar as alterações dos valores agregados através do tempo. Tal estrutura possui nós do tipo <b.time, b.pointer, b.aggr[]> onde b.aggr é o valor agregado no tempo b.time e

b.pointer faz a ligação para o próximo nível da árvore. Uma regra de economia é não

replicar o valor de b.aggr caso este não mude entre tempos consecutivos. A Figura 14 e a Figura 16 reproduzem o exemplo utilizado no artigo, onde um cubo de dados com contagens por região e tempo é mapeado na estrutura da aRB-tree.

O processo de construção da aRB-tree envolve a construção da R-tree inicial (em negrito na Figura 16) contendo a agregação dos valores para cada região da dimensão espacial e, assim como na aR-tree, os REMs de cada região são utilizados e depois englobados em REMs maiores para formação dos níveis superiores da árvore (R1 e R2 são englobados em R5 enquanto R3 e R4 são

englobados por R6).

Figura 16: aRB-tree resultante da agregação do cubo de dados de exemplo adaptada de Papadias et al. (2002)

CAPÍTULO 3 - Processamento de Consultas Análiticas 51

A seguir, cada região é detalhada temporalmente através da estrutura de B- tree complementar descrita anteriormente contendo o timestamp inicial e final com suas respectivas contagens. Observando-se a B-tree para mapear a região R1,

pode-se notar que uma simplificação foi feita ao omitir-se o tempo 2, uma vez que este possui o mesmo valor do tempo 1 naquela região. Tal simplificação é máxima na região R4, uma vez que há somente um valor para todos os tempos e, portanto,

somente um nó da árvore se faz necessário. Além dos detalhes temporais para cada região, uma última árvore é adicionada com o detalhamento por tempo da região completa.

A R-tree inicial (em negrito na Figura 16) pode responder diretamente a consultas contendo somente restrições espaciais, enquanto a “B-tree para o espaço completo” pode responder às consultas contendo somente restrições temporais. Quando as duas restrições são utilizadas na consulta, uma navegação seletiva pelos nós dos dois tipos árvores se faz necessária (nós em destaque na Figura 16). Uma consulta limitada à região qs da Figura 14b no intervalo de tempo [1,3], por exemplo, iniciaria com a navegação ao nó {R5,1130} da R-tree e, pela região R5 estar

completamente contida em qs, somente a B-tree temporal descrevendo esta região precisa ser acessada (as B-trees para as regiões R1 e R2 já estão sumarizadas em

R5 e, portanto, podem ser descartadas da avaliação). Ao acessar a B-tree temporal

de R5, vê-se que o nó raiz possui os totais para os intervalos de tempo [1,3] e [4,5] e,

portanto, somente o acesso ao nó {1,685} já fornece o total que se precisa para esta região. Continuando a avaliação, tem-se que a janela de consulta qs também intersecta a região R6 e esta precisa ser avaliada. Porém, ao contrário da R5, R6 é

englobada somente parcialmente por qs e, portanto, o acesso aos nós folha de R6

(correspondendo às regiões R3 e R4) é necessário. Já um nível abaixo na R-tree, vê-

se que R4 não é intersectada por qs e pode ser descartada. Não é o caso da região R3, cuja B-tree é acessada e onde vê-se os intervalos [1,2],[3,5] descritos no

primeiro nível. O nó {1,259} pode ser utilizado por estar totalmente contido na restrição temporal mas não o nó {3,379} por conter totais nos tempos [4,5] que devem ser desconsiderados do conjunto resposta. Descendo mais um nível na B- tree temporal descrevendo a região R6, vê-se os intervalos [3],[4,5] sendo mapeados

e pode-se utilizar o nó {3,125} como dado final para formar a resposta da consulta. Ao final, têm-se que os nós {1,685} (primeiro nível da B-tree para R5), {1,259}

CAPÍTULO 3 - Processamento de Consultas Análiticas 52

(primeiro nível da B-tree para R3) e {3,125} (segundo nível da B-tree para R3)

respondem, somados, à consulta. STB-index

O trabalho de Tsuruda (2013) foi responsável pela incorporação de dados temporais no processamento do SB-index criando-se o STB-index (Spatio-Temporal

Bitmap Index).

Destinado a DWETs, o STB-index inclui os tempos de validade inicial e final de cada registro contido no vetor de chaves e REMs do SB-index com a intenção de excluir da avaliação espacial os registros que não estão contidos no intervalo temporal da consulta. O esquema de dados é exemplificado na Figura 17 e o processamento do índice utiliza os mesmos passos do SB-index (mostrados na Figura 12) com a diferença que a validade temporal de cada REM do vetor é analisada antes da avaliação espacial, excluindo-se do processamento os REMs temporalmente inválidos.

CAPÍTULO 3 - Processamento de Consultas Análiticas 53

A exemplo do SB-index, o STB-index também apresentou melhores resultados no processamento de consultas STOLAP quando comparado ao método tradicional de visões materializadas.

HSTB-index

Proposta deste trabalho, o HSTB-index é a evolução do índice HSB-index para transformá-lo em um índice espaço-temporal.

A Figura 18 demonstra os nós da hierarquia de MBRs utilizada no HSTB- index e cuja estrutura (que foi derivada do HSB-index) possui as datas de validade inicial e final dos MBRs que se encontram nos nós folha.

Figura 18: Estrutura do HSTB-index

Com a alteração na estrutura, foram necessárias modificações para carregar e executar o índice. Na parte de carga do índice foi necessário: i) alterar a consulta que realiza a formação dos MBRs para incluir a extração das datas de validade inicial e final dos mesmos no formato juliano; ii) alterar a carga dos nós para incluir

CAPÍTULO 3 - Processamento de Consultas Análiticas 54

tal data na cópia dos registros em memória quando um nó folha fosse alcançado. O algoritmo de pesquisa do índice precisou incluir, além da verificação dos MBRs, a verificação da validade temporal destes quando um nó folha é identificado.

3.5 Benchmark Spatial SSB

O benchmark Spatial SSB (ou Spatial Star Schema Benchmark) foi proposto por Nascimento et. al. (2011) e oferece a possibilidade de construção de um DW para testes das várias situações de dados que podem ser encontradas nos bancos de dados espaciais. O benchmark possibilita a variação tanto da seletividade dos dados espaciais quanto dos dados convencionais, assim como o fator de escalabilidade e a complexidade das formas geométricas a serem geradas.

O Spatial SSB foi proposto com base no Star Schema Benchmark (O'NEIL, 2009) e o estende através da inclusão de colunas espaciais nas tabelas dimensão e na inclusão da limitação espacial nas consultas propostas pelo benchmark original. A Figura 19 mostra o esquema de dados do Spatial SSB onde se pode visualizar as colunas geográficas que foram adicionadas (colunas com final “_geo”), a informação da quantidade de registros a serem gerados de acordo com o fator de escala utilizado (CSF*<quantidade> no topo de cada tabela) e os relacionamentos entre cada uma das tabelas.

A adaptação teve que ser feita também nas consultas que poderiam ser feitas no DW gerado uma vez que estas precisaram incluir os vários níveis de hierarquia espacial para diferentes janelas de consulta. A Figura 20 exemplifica a adaptação feita à consulta Q3.1, onde espera-se obter a renda bruta obtida com a venda de produtos em um certo período de tempo.

CAPÍTULO 3 - Processamento de Consultas Análiticas 55

Figura 19: Esquema de dados do Spatial Star Schema Benchmark - retirado de Nascimento et. al. (2011)

CAPÍTULO 3 - Processamento de Consultas Análiticas 56

Figura 20: Consulta Q3.1 do Spatial Star Schema Benchmark – retirada de Nascimento et. al. (2011)

A consulta Q3.1 é a que servirá como base para este trabalho, mas a sua versão já estendida para o esquema de dados espaço-temporal como proposto por Tsuruda (2013).

Considerações Finais

Assim como a evolução do esquema de dados e suas possíveis consultas, foram apresentadas neste capítulo algumas das técnicas e índices que podem ser utilizadas para facilitar a execução de consultas em DWs, DWEs e DWETs, sendo que algumas delas serão empregadas neste trabalho.

Continuando a construção dos pilares que suportam este trabalho de mestrado, um trabalho correlato é apresentado no próximo capítulo.