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

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

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

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

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

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

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

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

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

Á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

Árvore B, B* e B+ Slides: Profa. Dra. CrisAna Dutra de Aguiar Ciferri. Murilo Gleyson Gazzola. ICMC- USP - Base de Dados

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

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

Árvores B Partes I e II

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

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

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

Definição. Árvores B Parte III. Propriedades Gerais. Propriedade (No. Mín. de Chaves) Leandro C. Cintra Maria Cristina F.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Pesquisa em Memória Secundária. Prof. Jonas Potros

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

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

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

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

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

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações

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

Árvores B Parte III. Propriedades, Remoção & Inserção Revisitada. Adaptado e Estendido dos Originais de:

Ordenação e Busca em Arquivos

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

Indexação de Arquivos III:

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

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Índices. SCE-203 Algoritmos e Estruturas de Dados II

Victor Hugo Andrade Soares monitor João Vitor dos Santos Tristão Primeiro Trabalho Prático

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

UNIVERSIDADE DE SÃO PAULO INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO

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

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

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

Acesso Sequencial Indexado

Armazenamento em disco com uso de índices

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

ORGANIZAÇÃO DE ARQUIVOS INDEXADOS

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

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

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

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

Árvores B (Parte III)

Hashing convencional...

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

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

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

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

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

ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Árvores B. Definição: Seja t a ordem da árvore B. Uma árvore B de ordem t é uma árvore ordenada que é vazia, ou que satisfaz as seguintes condições:

Árvores Genéricas de Busca

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

Organização de Arquivos

Busca em Memória Secundária. Busca em Memória Secundária

Quarto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice simples ou linear. Descrição de páginas de disco

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro

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

Estrutura de Dados. Estrutura de Dados Recursividade. Exemplo: 5! = 5 x 4! 4! = 4 x 3! 3! = 3 X 2! 2! = 2 x 1! 1! = 1 x 0!

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash

Índices. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira

Segunda Parte do Trabalho Prático (Parte II) Valor: 70%

Organização de Arquivos. Campos e Registros. Seqüência de Bytes (stream) Seqüência de Bytes (stream) Seqüência de Bytes (stream)

Organização de Arquivos. Leandro C. Cintra M.C.F. de Oliveira Thiago A. S. Pardo Cristina D. A. Ciferri

Gerência do Sistema de Arquivos. Adão de Melo Neto

Segundo Trabalho Prático Turma A

Organização de Arquivos e Acesso a Arquivos

Primeiro Trabalho Prático Turma A. Descrição do Trabalho. Considere os seguintes dados a respeito de um livro:

Sistemas de Arquivos. (Aula 23)

INTRODUÇÃO À TECNOLOGIA DA INFORMAÇÃO ACESSO, ATRIBUTOS E OPERAÇÕES COM ARQUIVOS PROFESSOR CARLOS MUNIZ

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo?

BANCO DE DADOS Índices em BD Árvores B+

ANÁLISE E PROJETO DE BANCO DE DADOS

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Operações Coseqüenciais. Processamento Coseqüencial. Modelo para implementação de processos coseqüenciais

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

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

INF 1010 Estruturas de Dados Avançadas

Conceitos gerais Terminologia Forma de Representação de Árvores Árvores Binárias

Processamento Coseqüencial

Terceiro Trabalho Prático. Este trabalho tem como objetivo ordenar um arquivo de dados e implementar as operações cosequenciais de merging e matching.

Gerência do Sistema de Arquivos. Adão de Melo Neto

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

Organização de Arquivos. Campos e Registros. Seqüência de Bytes (stream) Seqüência de Bytes (stream) Leandro C. Cintra Maria Cristina F.

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

Listas de Prioridade. Fonte de consulta: Szwarcfiter, J.; Markezon, L. Estruturas de Dados e seus Algoritmos, 3a. ed. LTC.

Algoritmos e Estruturas de Dados II IEC013

Sistemas Operacionais. Prof. André Y. Kusumoto

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

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

Arquivos Indexados. Vanessa Braganholo

Métodos de Busca Parte 1

Transcrição:

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

Acesso Seqüencial Indexado Alternativas (até o momento) acesso indexado arquivo pode ser visto como um conjunto de registros que são indexados por uma chave acesso seqüencial Idéia arquivo pode ser acessado seqüencialmente (i.e., registros fisicamente contínuos) arquivos devem suportar acesso indexado eficiente, e também acesso seqüencial

Exemplo Arquivo indexado por um índice árvore-b acesso indexado pela chave: desempenho excelente acesso seqüencial aos registros ordenados pela chave: desempenho péssimo Arquivo com registros ordenados pela chave processamento seqüencial: apropriado processamento randômico: inapropriado

Exemplo Questão registros organizados segundo a seqüência de entrada (entry sequenced) versus registros ordenados fisicamente pela chave Cenários de utilização registros de alunos em uma Universidade registros com informações relacionadas a cartões de crédito

Foco 1 Problema manter os registros ordenados fisicamente pela chave (sequence set) Solução organizar registros em blocos um bloco consiste na unidade básica de entrada e saída e deve ter seu tamanho determinado pelo tamanho do buffer-pool

Uso de Blocos Características o conteúdo de cada bloco está ordenado, e pode ser recuperado em um acesso cada bloco mantém um ponteiro para o bloco antecessor e um ponteiro para o bloco sucessor blocos logicamente adjacentes não estão (necessariamente) fisicamente adjacentes Garante acesso seqüencial ao arquivo

Problema 1 Inserção de registros pode provocar overflow em um bloco Solução dividir o bloco, em um processo análogo ao realizado em árvores-b passos divide os registros entre os dois blocos rearranja os ponteiros não existe promoção!

Problema 2 Remoção de registros pode provocar underflow em um bloco Solução concatenar o bloco com o seu antecessor ou sucessor na seqüência lógica redistribuir os registros, movendo-os entre blocos logicamente adjacentes

Exemplo: Inserção de CARTER bloco 1 bloco 2 bloco 3 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... COLE... DAVES... DENVER... ELLIS... bloco 1 bloco 2 bloco 3 bloco 4 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... CARTER... DENVER... ELLIS... COLE... DAVIS...

Exemplo: Remoção de DAVIS bloco 1 bloco 2 bloco 3 bloco 4 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... CARTER... DENVER... ELLIS... COLE... DAVIS... bloco 1 bloco 2 bloco 3 bloco 4 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... CARTER... disponível para uso COLE... DENVER... ELLIS

Uso de Blocos Custos associados devido à fragmentação gerada pelas inserções, o arquivo pode ocupar mais espaço do que um arquivo ordenado comum melhorias incluem redistribuição antes do particionamento, split 2-to-3, etc a ordem física dos registros não é necessariamente seqüencial ao longo do arquivo

Tamanho do Bloco Consideração 1 deve permitir que diversos blocos possam ser armazenados em RAM ao mesmo tempo Consideração 2 deve permitir que um bloco possa ser acessado sem se pagar o custo de um seek com a operação de leitura ou escrita do bloco a leitura ou a escrita de um bloco não deve consumir muito tempo

Foco 2 Característica os registros podem ser acessados em ordem, sequencialmente, pela chave Problema localizar eficientemente um bloco com um registro particular, dado a chave do registro Soluções índice simples para referenciar os blocos árvore-b+

Índice Simples (Tabela) ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EMBRY-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6 visão lógica chave bloco BERNE 1 CAGE 2 DUTTON 3 EVANS 4 FOLK 5 GADIS 6 Índice de 1 nível registros de tamanho fixo contém a chave para o último registro no bloco

Acesso Seqüencial Indexado Combina registros ordenados fisicamente pela chave (sequence set) índice simples para referenciar os blocos Restrição a organização em tabela implica que o índice cabe na memória principal busca binária no índice atualização do índice em RAM

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

Separadores Características são mantidos no índice, ao invés das chaves de busca possuem tamanho variável Exemplo BO CAM E F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EMBRY-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6

Separadores Desafio escolher o menor separador para utilizar no índice Tabela de decisão chave de busca x separador chave < separador chave = separador chave > separador decisão procure à esquerda procure à direita procure à direita

Árvore-B+ Pré-Fixada Estrutura híbrida chaves organizadas como árvore-b (i.e., index set) nós folhas consistem em blocos de sequence set Pré-fixada simples armazena na árvore as cadeias separadoras mínimas entre cada par de blocos

Árvore-B+ Pré-Fixada E árvore-b de ordem 3 BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EMBRY-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6

Manutenção Cenários inserção remoção overflow underflow Efeitos colaterais sequence set árvore-b+

Remoção de EMBRY E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EMBRY-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6

Remoção de EMBRY E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6 Efeito no sequence set limitado a alterações no bloco 4

Remoção de EMBRY E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6 Efeito na árvore-b+ nenhum: E é uma boa chave separadora

Remoção de FOLKS E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FOLKS-GADIS 1 2 3 4 5 6

Remoção de FOLKS E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6 Efeito no sequence set limitado a alterações no bloco 6

Remoção de FOLKS E sem redistribuição ou concatenação BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6 Efeito na árvore-b+ nenhum: custos elevados

Inserção de EATON E espaço disponível no bloco BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON ERVIN-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6

Inserção de EATON E espaço disponível no bloco BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6 Efeito no sequence set limitado a alterações no bloco 4

Inserção de EATON E espaço disponível no bloco BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6 Efeito na árvore-b+ nenhum: E é uma boa chave separadora

Inserção de AVERY E split no sequence set 1 BO CAM F FOLKS ADAMS-BERNE BOLEN-CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 2 3 4 5 6

Inserção de AVERY BO E split no sequence set 1 AY CAM F FOLKS ADAMS- AVERY AYERS- BERNE BOLEN- CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 7 2 3 4 5 6 Efeito no sequence set dados do bloco 1 + AVERY distribuídos entre os blocos 1 e 7

Inserção de AVERY BO E split no sequence set 1 AY CAM F FOLKS ADAMS- AVERY AYERS- BERNE BOLEN- CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 7 2 3 4 5 6 Efeito na árvore-b+ separador adicional AY

Remoção de CAEL BO E underflow no sequence set 2 AY CAM F FOLKS ADAMS- AVERY AYERS- BERNE BOLEN- CAGE CAMP-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 7 2 3 4 5 6

Remoção de CAEL E underflow no sequence set 2 AY BO F FOLKS ADAMS-AVERY AYERS-BERNE BOLEN-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 7 2 4 5 6 Efeito no sequence set concatenação dos blocos 2 e 3

Remoção de CAEL E underflow no sequence set 2 AY BO F FOLKS ADAMS-AVERY AYERS-BERNE BOLEN-DUTTON EATON-EVANS FABER-FOLK FROST-GADIS 1 7 2 4 5 6 Efeito na árvore-b+ remoção de CAM e concatenação de nós

Inserção e Remoção Primeiro passo: Sequence Set inserir ou remover o dado tratar, caso necessário split contatenação redistribuição alterações são sempre realizadas a partir do arquivo de dados

Inserção e Remoção Segundo passo: Árvore-B + se split no sequence set inserir um novo separador no índice se concatenação no sequence set remover um separador do índice se distribuição no sequence set alterar o valor do separador no índice

Observações Adicionais Tamanho físico de um nó no índice (i.e., árvore-b + ) = Tamanho físico de um bloco no sequence set Escolha direcionada pelos mesmos quesitos tamanho do bloco características do disco quantidade de memória disponível

Observações Adicionais Tamanho físico de um nó no índice (i.e., árvore-b + ) = Tamanho físico de um bloco no sequence set Facilidade para a implementação da árvore-b + virtual

Observações Adicionais Tamanho físico de um nó no índice (i.e., árvore-b + ) = Tamanho físico de um bloco no sequence set Uso de um mesmo arquivo para armazenar os blocos do índice e os blocos do sequence set evita seeks entre dois arquivos separados

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

Características Árvore-B + ordem: 3 Sequence Set número máximo de registros: 4 número mínimo de registros: 2 underflow: 1 registro

Exercícios 1. Quais os separadores dos sequence sets? bloco 1 bloco 2 bloco 3 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... COLE... DAVES... DENVER... ELLIS... FOLK... FRANK... 2. Construa a árvore-b + 3. Realize as seguintes operações a) inserção de CARTER b) inserção de DRAG c) remoção de BIXBY d) remoção de COLE

Resposta 1. Quais os separadores dos sequence sets? bloco 1 bloco 2 bloco 3 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... COLE... DAVES... DENVER... ELLIS... FOLK... FRANK... BY DE

Resposta 2. Construa a árvore-b + BY DE bloco 1 bloco 2 bloco 3 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... COLE... DAVES... DENVER... ELLIS... FOLK... FRANK...

Resposta 3. inserção de CARTER CO BY DE bloco 1 bloco 2 bloco 3 bloco 4 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... CARTER... DENVER... ELLIS... FOLK... FRANK... COLE... DAVES...

3. inserção de DRAG Resposta CO BY DE F bloco 1 bloco 2 bloco 3 bloco 4 bloco 5 ADAMS... BAIRD... BIXBY... BOONE... BYNUM... CART... CARTER... DENVER... DRAG... ELLIS... COLE... DAVES... FOLK... FRANK...

Resposta 3. remoção de BIXBY CO BY DE F bloco 1 bloco 2 bloco 3 bloco 4 bloco 5 ADAMS... BAIRD... BOONE... BYNUM... CART... CARTER... DENVER... DRAG... ELLIS... COLE... DAVES... FOLK... FRANK...

3. remoção de COLE Resposta DE BY F bloco 1 bloco 2 bloco 3 ADAMS... BAIRD... BOONE... BYNUM... CART... CARTER... DAVES... DENVER... DRAG... ELLIS... bloco 4 bloco 5 FOLK... FRANK...