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 suportemanipulam, 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.