• Nenhum resultado encontrado

3.3 Slim-tree

3.3.4 Sobreposi¸c˜ao em ´arvores m´etricas

A divis˜ao dos espa¸cos m´etricos de quase todos os MAM dinˆamicos n˜ao garante regi˜oes disjuntas, produzindo sobreposi¸c˜ao entre os n´os de um mesmo n´ıvel da ´arvore, que reduz a capacidade de podar sub´arvores.

Em [Traina Jr. et al., 2002a], juntamente com o MAM Slim-tree, foi proposto o fat- factor para avaliar o grau de sobreposi¸c˜ao entre os n´os da estrutura. A sobreposi¸c˜ao entre

dois n´os foi definida como o n´umero de elementos em suas sub´arvores que s˜ao cobertos

por ambos os n´os, dividido pelo n´umero total de elementos nas sub´arvores.

O fat-factor absoluto (F at(T )) de uma Slim-tree T com altura H, armazenando N elementos em M p´aginas de disco ´e dado por:

F at(T ) = IC − H ∗ N

N ∗

1

(M − H) (3.3)

onde IC representa o total de n´os acessados necess´arios para reponder consultas pontuais

para cada um dos N elementos armazenados na ´arvore m´etrica.

Os valores do fat-factor absoluto de uma estrutura podem variar no intervalo [0, 1], e valores maiores representam estruturas com maior grau de sobreposi¸c˜ao, e F at(T ) = 0 indica uma ´arvore ideal onde n˜ao existe sobreposi¸c˜ao entre os n´os.

O fat-factor absoluto ´e uma medida da quantidade de elementos que ocupam regi˜oes de intersec¸c˜ao de n´os em um mesmo n´ıvel de um MAM. Por´em, se duas ´arvores armazenando

valores de fat-factor absoluto n˜ao pode ser feita. Para permitir a compara¸c˜ao das duas ´arvores diferentes que armazenam o mesmo conjunto de dados, foi proposto o fat-factor

relativo, que “penaliza” ´arvores que usam mais do que o n´umero m´ınimo de n´os necess´arios

para armazenar os elementos do conjunto de dados. No c´alculo do fat-factor relativo s˜ao

considerados os n´umero de n´os e a altura da ´arvore ideal, e n˜ao da ´arvore real.

rF at(T ) = IC − Hmin∗ N

N ∗

1

(Mmin− Hmin)

(3.4)

onde Hmin = ⌈logCN ⌉ ´e a altura m´ınima da ´arvore, e o n´umero m´ınimo de n´os para

um conjunto de dados ´e dado por Mmin =

PHmin

i=1 ⌈N/C

i

⌉, onde C ´e a capacidade dos n´os.

O valor de rF at(T ) varia entre 0 e um n´umero real positivo, sendo que quanto menor

o valor, menor o n´umero de acessos a disco necess´arios para responder uma consulta.

Em [Traina Jr. et al., 2002a] tamb´em foi proposta uma t´ecnica para minimizar a

sobreposi¸c˜ao entre n´os em ´arvores m´etricas, chamado Slim-down. Esse algoritmo ´e

executado sobre a ´arvore j´a constru´ıda. Os valores do fat-factor podem ser monitorados para indicar a necessidade do processo de otimiza¸c˜ao.

Quando existe sobreposi¸c˜ao entre n´os-folha, o Slim-down realiza a “migra¸c˜ao” do elemento mais distance do representante do n´o para um n´o irm˜ao que tamb´em j´a cubra o elemento. Com essa migra¸c˜ao, o raio de cobertura do n´o que “exporta” o elemento pode ser reduzido, sem que seja necess´ario aumentar o raio de cobertura do n´o que recebe o elemento. Com isso, a sobreposi¸c˜ao entre os n´os tende a diminuir. Este procedimento ´e repetido at´e que n˜ao existam mais migra¸c˜oes de elementos entre os n´os irm˜aos. Um exemplo da aplica¸c˜ao do m´etodo Slim-down pode ser visto na Figura 3.5.

O Slim-down realiza a redu¸c˜ao dos raios de cobertura comparando apenas os n´os- folha irm˜aos, ou seja, aqueles que est˜ao ligados a um mesmo n´o-´ındice. Assim, nenhuma opera¸c˜ao ´e realizada no caso de sobreposi¸c˜ao de dois n´os-folhas que n˜ao sejam irm˜aos. Em [Skopal et al., 2003] foi proposto o algoritmo Generalized Slim-down, que percorre a ´arvore otimizando os n´os, n˜ao se restringindo apenas aos n´os-folha. Procura-se uma melhor localiza¸c˜ao para cada uma das entradas dos n´os percorridos, redistribuindo-as no mesmo n´ıvel da ´arvore. Por´em, como pode-se inferir pelos experimentos do autor, essa

3.4 Considera¸c˜oes Finais

antes do Slim-down

depois do Slim-down

Figura 3.5: Exemplos de otimiza¸c˜ao realizada pelo m´etodo Slim-down.

otimiza¸c˜ao chega a ser at´e duzentas vezes mais custosa do que a constru¸c˜ao inicial da ´arvore.

Na Se¸c˜ao 5.3 ´e apresentada uma nova t´ecnica de otimiza¸c˜ao [Bueno et al., 2008a] que permite a movimenta¸c˜ao de elementos entre sub´arvores, sendo menos custoso que o Generalized Slim-down.

3.4

Considera¸c˜oes Finais

Neste cap´ıtulo foi apresentado um levantamento bibliogr´afico do desenvolvimentos dos MAM, apresentando com mais detalhes alguns trabalhos de maior interesse para este doutorado. Muitas estruturas de indexa¸c˜ao foram propostas com o objetivo de agilizar as buscas por similaridade, especialmente em dom´ınios m´etricos.

Nos MAM, normalmente o espa¸co de busca ´e particionado de acordo com t´ecnicas espec´ıficas de particionamento, e s˜ao criadas estruturas hier´arquicas para o armazenamento e manipula¸c˜ao dos elementos, geralmente ´arvores.

As primeiras estruturas propostas eram est´aticas, sendo a M-Tree [Ciaccia et al., 1997] o primeiro MAM dinˆamico proposto na literatura. No presente cap´ıtulo foi apresentada mais detalhadamente a Slim-tree [Traina Jr. et al., 2000b, Traina Jr. et al., 2002a], que foi base para a implementa¸c˜ao dos algoritmos de remo¸c˜ao, atualiza¸c˜ao e otimiza¸c˜ao desenvolvidos durante este doutorado, apresentados no Cap´ıtulo 5.

No pr´oximo cap´ıtulo s˜ao apresentados alguns conceitos e trabalhos sobre o tratamento de informa¸c˜oes temporais em bases de dados.

Cap´ıtulo

4

Tempo em Bases de Dados

4.1

Considera¸c˜oes Iniciais

A

maioria das aplica¸c˜oes `as quais os SGBD atualmente devem dar suporte

manipulam, de alguma maneira, dados com caracter´ısticas de tempo, seja para informa¸c˜oes hist´oricas, atuais ou futuras.

De uma forma geral, o termo ‘bases de dados temporais’ engloba toda base de dados que utiliza algum aspecto de tempo na organiza¸c˜ao de dados [Elmasri & Navathe, 2006]. As Bases de dados temporais permitem o armazenamento de dados do passado, presente e futuro da aplica¸c˜ao, mantendo registrada a sua evolu¸c˜ao temporal [Edelweiss, 1998, Tansel et al., 1993].

Em bases de tados temporais, a representa¸c˜ao do tempo pode ser discreta ou cont´ınua. No caso de representa¸c˜ao cont´ınua, especialmente em espa¸cos de baixa dimensionalidade, os objetos s˜ao frequentemente chamados de “objetos m´oveis”.

Na se¸c˜ao 4.2 s˜ao apresentados os conceitos b´asicos no desenvolvimento de bases de dados temporais. Em seguida, na se¸c˜ao 4.3 s˜ao discutidos objetos m´oveis, que podem ser vistos como uma especializa¸c˜ao de dados espa¸co-temporais.

Documentos relacionados