Universidade Federal de São Carlos - UFSCar Departamento de Computação - DC Programa de Pós-Graduação em Ciência da Computação - PPGCC

Documentos relacionados
São Carlos, 01 de outubro 2010 THE R* - TREE : AN EFFICIENT AND ROBUST ACCESS METHOD FOR POINTS AND RECTANGLES+

Dados Espaciais e Indexação

Indexação de dados espaciais R-Tree. CCO229 Bancos de dados Espaciais e Biológicos Prof. Ricardo Rodrigues Ciferri Debora Marrach

R+ -Tree THE R+-TREE: A DYNAMIC INDEX FOR MULTI-DIMENSIONAL OBJECTS

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Hashing convencional...

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Métodos de Acesso Métrico

Dados espaciais Árvores R

Métodos de acesso espaciais e indexação espacial

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri

Árvores B Partes I e II

Busca em Regiões Ortogonais

Buscas Informadas ou Heurísticas - Parte III

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

BANCO DE DADOS Índices em BD Árvores B+

Algoritmos e estruturas espaciais

Métodos de Busca Parte 1

Árvores B Parte IV. Revisão de Inserção. Organização. Variantes. Leandro C. Cintra Maria Cristina F. de Oliveira

Árvores Binárias Balanceadas

Algoritmo: Split. Árvores B Parte IV. Algoritmo: Split. Algoritmo: Split. Algoritmo: Split. Procedimento inicial. Parâmetros

Seleção e Otimização de Fontes

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1

Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II Árvore-B +

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

Linguagem C: Árvores AVL

Árvores B (Parte III)

Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Árvores, Árvores Binárias e Árvores Binárias de Pesquisa. Rui Jorge Tramontin Jr.

Árvores B. Árvores B Parte II. Características. Características. Construção Bottom-Up. Leandro C. Cintra Maria Cristina F. de Oliveira.

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Acesso a Arquivos. Árvores B Parte VI. Acesso Seqüencial & Indexado. Questão. Foco 1. Uso de Blocos. Árvores B+ Alternativas (até o momento)

Acesso Sequencial Indexado

Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

SCC-503 Algoritmos e Estruturas de Dados II. Modificado por Moacir Ponti Jr, do original de:

B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados

ORGANIZAÇÃO DE ARQUIVOS INDEXADOS

Aula 18 Árvores B e parâmetros de compilação

Fundamentos de Sistemas Operacionais

Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri

Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis

Árvores. Exemplo de árvore 2-3-4

Introdução Métodos de Busca Parte 1

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures

Estruturas de Dados. Árvores AVL: Partes I e II. Desempenho de ABBs (Revisão)

Árvores B. Prof. Flávio Humberto Cabral Nunes

Ordenação Externa. Ordenação Externa. Ordenação Externa. Ordenação Externa

Trabalho Prático. Primeira Parte do Trabalho (Parte I): peso 40%

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

BCC204 - Teoria dos Grafos

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Sistemas de Arquivos

5. Algoritmos de Ordenação

3 Sistema de Partículas na CPU

Algoritmo CLIQUE (Clustering In QUEst)

Classificação Externa: Intercalação de Partições Classificadas

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

Sistemas Opera r cionais Gerência de Memória

INF 1010 Estruturas de Dados Avançadas

Aprendizagem de Máquina

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Trabalho Prático. Descrição Considere os seguintes dados a respeito de uma pessoa:

Paradigmas de Projetos de Algoritmos

Flávia Barbosa UNICAMP Antônio Carlos Moretti UNICAMP

heapsort (int *x, int n) { int i, e, s, f, aux; /*fase de pré-processamento - cria heap inicial*/ for (i=1; i<n; i++) { e = x[i]; s = i; f = (s-1)/2;

ÁRVORES BINÁRIAS DE BUSCA. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

Árvores AVL. Estrutura de Dados II Jairo Francisco de Souza

Banco de Dados Espaciais

Sistemas de Arquivos. (Aula 23)

Classificação e Pesquisa Aula 6 Métodos de Ordenação: ShellSort e QuickSort. Prof. Esp. Pedro Luís Antonelli Anhanguera Educacional

Árvores-B + SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Cristina Dutra de Aguiar Ciferri

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

4 Algoritmo de reconstrução de curvas

Explorando o Uso de Short-term Memory na Construção de Métodos de Acesso Métricos Mais Eficientes

5 Resultados Experimentais

INE5408 Estruturas de Dados

Algoritmos de bulk-loading para o método de acesso métrico Onion-tree

ANÁLISE E PROJETO DE BANCO DE DADOS

Sistemas Operacionais. Interrupção e Exceção

Introdução a Estruturas de Dados Espaciais - QuadTree

Árvores-B: Remoção. Cristina Dutra de Aguiar Ciferri Thiago A. S. Pardo

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash

Árvores. Thiago Martins, Fabio Gagliardi Cozman. PMR2300 / PMR3201 Escola Politécnica da Universidade de São Paulo

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

Algoritmos geométricos

Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões

Transcrição:

Universidade Federal de São Carlos - UFSCar Departamento de Computação - DC Programa de Pós-Graduação em Ciência da Computação - PPGCC Revisão da R*-tree Aluno:Marcos Henrique de Paula Prof: Dr. Ricardo Ciferri Área: Banco de Dados 1

Sumário Introdução Deficiências de R-trees Algoritimos: EscolheFolha e de Particionamento Experimentos do artigo Conclusão 2

INTRODUÇÃO O objetivo principal da R-tree é atribuir retângulos às folhas de forma que a proximidade espacial seja preservada. Um objeto complexo espacial é representado por um retângulos envolvente mínimo (MBR) indispensável, preservando as propriedades geométricas 3

INTRODUÇÃO Altura da árvore balanceada semelhante a uma B-tree, com registros de índice em seus nós folha contendo ponteiros para objetos de dados. Heurística de Otimização: minimizar a área de cada retângulo delimitador nos nós internos. 4

INTRODUÇÃO A inserção de um novo retângulo na R-tree começa em sua raiz. A Rotina ChooseSubtree (EscolheFolha) é chamada para determinar um nó filho iterativamente até que uma folha é encontrada. O retângulo é inserido na folha e as modificações da MBR na folha são propagadas para cima ao longo do caminho de inserção. 5

INTRODUÇÃO Se a folha já contém M objetos, a rotina Split é chamada distribuindo os objetos em dois grupos: um continua na folha original, enquanto o outro é armazenado em uma nova folha. Posteriormente, a entrada do índice original é atualizada e, uma nova entrada, referindo-se à nova folha, é inserida no nó pai, o que pode ter que ser dividido de forma análoga. 6

INTRODUÇÃO R*-tree tem servido de orientação para muitas implementações de R-tree, influenciando projetos de métodos de acesso. Propostas emergentes para o R-tree diferem, principalmente, no algoritmo de particionamento (Split) e no algoritmo de travessia para a inserção de novos objetos (comumente chamado ChooseSubtree). 7

Diferenças entre a R-tree e R*-tree Minimização da área, margem e sobreposição é crucial para o desempenho de R-tree / R *- tree. As tentativas da R*- tree para reduzir a árvore, usando uma combinação de um algoritmo de particionamento revisado e o conceito de reinserção forçada para node overflow. Esta baseada na observação de que as estruturas R-tree são altamente suscetíveis a ordem em que as suas entradas são inseridas, portanto, com uma inserção construída (e não por carregamento) a estrutura é suscetível de ser sub-óptima. Exclusão e reinserção de entradas lhes permite "encontrar" um lugar na árvore que pode ser mais apropriado do que a sua localização original -> Melhora o desempenho de recuperação 8

Exemplo R1 R2 R1 R2 R5 R4 R5 R4 R3 Preferred by R-tree R3 R1 R2 R5 R4 Preferred by R*-tree R3 9

Diferenças entre a R-tree e R*-tree Em diferentes estudos experimentais a R*- tree tem se mostrado como uma estrutura mais eficiente em relação ao desempenho da consulta. A aplicação dos algoritmos da R*-tree apresenta algumas deficiências. 10

Deficiências Re-inserção de entradas: considerada uma das contribuições essenciais para melhorar desempenho de consultas, é um conceito complicado em DBMS. 11

Deficiências A sobreposição otimizada durante ChooseSubtree: importante para a melhorar o desempenho da consulta, é realizada apenas rudimentarmente. É restrita ao menor nível de diretório e limitada a um parâmetro constante para manter a CPU em um custo aceitável. 12

Deficiências A função de pontuação no particionamento não leva em conta o equilíbrio das páginas particionadas. O desequilíbrio no particionamento é limitado por um parâmetro m e o grau de desequilíbrio de inserções não influencia a divisão de uma página. 13

Deficiências R-trees não são bem projetados para dados de alta dimensão. Como MBRs com volume zero não são incomuns em dados de alta dimensão, as estratégias comumente usadas baseados no particionamento de volume estão se tornando ineficazes. 14

ChooseSubtree - CSOrig 15

ChooseSubtree - CSOrig CSOrig melhora o desempenho da pesquisa em relação a outras estratégias, mas a sobreposição otimizada só é realizada no menor nível de diretório devido ao alto custo de CPU desta estratégia. 16

ChooseSubtree - CSOrig O parâmetro r originalmente introduzido para reduzir o custo de CPU para O (MlogM + Mr), r M. Se r é for muito pequeno, a probabilidade de falta de entrada com menor sobreposição e expansão é alta. Se for muito grande o custo da CPU se torna um fator crucial. 17

ChooseSubtree - CSOrig Outro grave problema do algoritmo é a estratégia de otimização baseada no volume que pode se tornar ineficaz para dados de alta dimensão. Caixas delimitadoras com volume zero não são incomuns e podem estar em subespaços de menor dimensão. 18

CSRevised O CSRevised aborda os problemas mencionados. Primeiro, uma simples estratégia de adaptação é proposta para a computação de um conjunto de entradas candidatas que são verificados quanto à sobreposição e alargamento melhorando performance e custo. 19

CSRevised Com as reduções de custos, a sobreposição otimizada pode ser executada em todos os níveis de diretórios. 20

CSRevised Em segundo lugar, o algoritmo identifica situações em que critérios baseados no volume tornam-se ineficazes, e em seguida, muda para uma estratégia baseada em perímetro. 21

CSRevised 22

CSRevised 23

CSRevised 24

CSRevised O custo de CPU do novo algoritmo é O(MlogM + qp), onde q indica o tamanho da CAND. O primeiro termo representa o custo para a classificação, enquanto o segundo representa o custo de CheckComp, desde de que q p M, resultando, num pior caso de desempenho, em O(M2). 25

CSRevised No experimento observou-se que em média p e q são muito menores que M. O custo de CPU do CSOrig no pior caso é O(MlogM + Mr), r M (proposta: r = 32), mas a sobreposição otimizada só é realizada no menor nível de diretório, ou seja, uma vez para cada inserção. 26

CSRevised CSRevised tem otimização mais eficaz, com uma redução substancial no custo de CPU para o método de inserção. A idéia de re-inserção foi abandonada, uma vez que impede a aplicação em um DBMS. 27

CSRevised Entradas irrelevantes, que não são capazes de acolher o novo objeto, são descartadas. Isso reduz consideravelmente o tempo de CPU, de modo que uma sobreposição efetiva e otimizada pode ser aplicada agora em todos os níveis de diretórios. 28

Particionamento A estratégia da divisão de um nó em dois baseia-se na classificação dos retângulos com relação à sua projeção para cada dimensão. 29

Particionamento Dois tipos de ordens são considerados para cada dimensão. Uma refere-se ao limite mínimo dos retângulos e outra a seu limite máximo. 30

Particionamento A divisão de um nó corresponde à computação da divisão ideal do candidato SCu, onde u é o índice de partição no eixo a dividir. O algoritmo R*- tree original prossegue duas etapas: 31

Particionamento 32

Particionamento O algoritmo de particionamento revisado se diferencia do original na segunda etapa. Distingue a divisão interna entre nós e folhas, relativa a escolha do eixo de divisão. 33

Particionamento Para dividir uma folha, o eixo de divisão é ainda determinado conforme descrito na etapa 1, mas em caso de nós internos o primeiro passo é deixado de fora e todas as dimensões são consideradas no cálculo da segunda etapa. 34

Particionamento O novo algoritmo de particionamento não está limitado a critérios de optimização bem conhecidos (sobreposição, volume, perímetro), mas também utiliza função de ponderação wf (weighting function) que leva em conta o equilíbrio da divisão. 35

Particionamento Ao manter o registro da modificação de um nó MBB, somos capazes de antecipar onde os dados são susceptíveis de serem inseridos no futuro. Isso leva a um novo algoritmo de divisão altamente adaptável. 36

Particionamento ChooseSubtree e Split, identificam quando a estratégia de otimização baseada no volume não é mais eficaz e se modificam em tais situações, utilizando estratégias baseadas perímetro. 37

Experimentos no artigo Metodologia Experimentos com cargas de trabalho em diversos conjuntos de dados simulados e reais Avaliação das decisões de projeto Performance de inserção Performance de consulta 38

Resultados: Inserção Para a inserção na memória principal (100% de buffer), o Hilbert R-tree é duas vezes mais rápido que o RR *- tree. 39

Resultados: Consulta 40

Resultados: Consulta Média de performance da query. Acessos à folha em percentual. 41

Conclusão Deficiências foram abordadas nos projetos de R-trees, e em particular da árvore R*-tree. Nenhum dos membros da família R-tree tem em conta o desequilíbrio de uma divisão como um critério de otimização, nem o fato de que otimização baseada no volume se tornar ineficaz quando caixas delimitadoras estão em subespaços de menor dimensão. 42

Conclusão Foi proposta uma revisão da R*-trees denominado RR*-tree. A complexa técnica de otimização da R*-tree, a re-inserção, foi abandonada. As consultas foram consideradas com um número limitado de respostas ao invés de com um volume limitado. 43

Conclusão O tratamento de dados multidimensionais foi melhorado, tal como foram propostas estratégias adaptativas, se a otimização baseada no volume falhar muda-se para a baseada em perímetro. 44

Conclusão RR*-tree foi mais robusta que R-tree e superior para a maioria dos arquivos de dados e consultas. Acredita-se que RR*-tree é ideal para ser aplicado dentro de um SGBD, uma vez que proporciona excelente desempenho e não colide com as exigências da concorrência comuns de protocolos. 45

Referências Beckmann, Norbert and Seeger, Bernhard : A revised r*-tree in comparison with related index structures. SIGMOD Conference 2009: 799-812. 46