Академический Документы
Профессиональный Документы
Культура Документы
TRABALHO FINAL
RVORES B+
SUMRIO
RESUMO ............................................................................................................
ABSTRACT ........................................................................................................
INTRODUO ............................................................................................
2
RVORES B ..............................................................................................
2.1 rvores B+ ..............................................................................................
2.2 Outras variaes ...................................................................................
8
8
9
10
10
10
4 OPERAES ..............................................................................................
4.1 Criao ......................................................................................................
4.2 Busca .......................................................................................................
4.3 Insero ....................................................................................................
4.3.1 Diviso ..................................................................................................
4.3.2
Insero Propriamente dita ................................................................
4.4 Remoo ...................................................................................................
4.4.1 Fuso ....................................................................................................
4.4.2 Remoo Propriamente dita ...............................................................
12
12
12
12
13
13
14
14
14
CONCLUSO .............................................................................................. 16
REFERNCIAS .................................................................................................. 17
AVL
LRU
ms
ns
Adelson-Velskii e Landism
Less Recently Used Menos Recentemente Usado.
milisegundos
nanosegundos
LISTA DE FIGURAS
LISTA DE TABELAS
RESUMO
Este documento uma explicao terica sobre rvores B+ e fornece a base para
entende como criar um banco de dados usando uma estrutura de rvore B+, suas
vantagens sobre outros algoritmos baseados em rvores e a melhor aplicao para ela.
B+-TREE
ABSTRACT
This document is a theoretic explanation about B+-trees and gives the bases to
understand how create a data banc using B+-tree structure, its advantages over other tree
based algorithms and the best application for it.
1 INTRODUO
Esta documentao visa dar o embasamento terico sobre rvores B+, descrevendo
de forma objetiva os passos necessrios implementao de um banco de dados
hipottico estruturado na forma de uma rvore B+, suas vantagens e noes bsicas do
custo das operaes envolvidas, tanto em relao ao uso de processador quanto a
acessos a disco.
2 RVORES B
2.1
rvores B+
Dentre as variaes das rvores B, est a rvore B+, cujo emprego est associado
necessidade de realizar buscas seriais no banco de dados. Devido dificuldade e alto
custo devido ao nmero excessivo de acessos a disco em uma busca serial quando os
dados esto distribudos em pginas (blocos) diferentes da memria, uma das
modificaes na rvore B original foi a de introduzir um duplo encadeamento entre as
diferentes pginas da rea de dados, de modo a permitir a leitura seqencial dos dados
das folhas, outra modificao a de replicar os ndices nas folhas, assim garantindo que
todos os dados podem ser acessados de forma seqencial.
AVL: em homenagem aos matemticos russos Adelson-Velskii e Landism 1962, rvore binria que
admire uma diferena de altura de no mximo 1 entre as suas sub-rvores esquerda ou direita.
2.2
Outras variaes
10
3 DEFINIO DE RVORE B+
3.1Altura da rvore B+
A altura da arvore B+ um fator importante, pois define o nmero de acessos a
disco. Desta forma uma rvore com n elementos tem sua altura h definida em relao do
grau mnimo t e o nmero de chaves:
n 1
h log
1.
2
t
11
h 2
h
1
folhas
1
m
2
2
m
2
2
h 2
m
m
b
(h 2 )
folhas 2
elementos 2
2
2 2
Figura 3.1: Comparao de um caso mnimo de rvore B+ com altura h, ordem m e
capacidade b
Tabela 3.1: Exemplos de altura mxima de rvores B+ de ordem m, capacidade b=4,
com n elementos.
n 103 104 105 106 107 108
m
10
20
30
40
50
100
5
4
4
3
3
3
6
5
4
4
4
4
8
6
5
5
5
4
9
7
6
6
5
5
11
8
7
6
6
5
12
9
8
7
7
6
12
4 OPERAES
4.1
Criao
A operao de criao de uma rvore B+ vazia feita pela alocao de uma posio
de memria para a raiz da rvore, e pela inicializao dos valores de folha, grau e sua
gravao em disco.
A complexidade da operao de (1) e 1 acesso memria secundria.
4.2
Busca
4.3
Insero
13
4.3.1 Diviso
Quando um nodo atinge 2t-1 chaves ele considerado cheio, no podendo receber
mais nenhuma chave, mas no entanto pode ser necessria a alocao de uma nova chave
nesta posio, para isso feita a operao de diviso de nodo cheio, inserindo a chave
central no nvel superior e transformando o nodo cheio em dois novos nodos.
A operao de diviso realiza 3 acessos escrita na memria secundria e O (t)
operaes.
4.3.2 Insero propriamente dita
Para realizar a insero primeiramente necessria uma busca recursiva pela posio
onde deve ser inserida a chave.
Uma das possibilidades insero na raiz, estando ela cheia, neste caso a altura da
rvore ser alterada conforme operao de diviso, supra citada, seguida da insero da
nova chave.
A insero pode ser feita em um nodo folha ou no corpo da rvore. No primeiro caso
localizado o nodo folha e feita uma busca serial do final do vetor at encontrar a
posio onde deve ser inserida a chave, neste processo a chaves existentes so
deslocadas uma posio para criar o espao para a nova chave. Aps realizada a
insero o nodo gravado. J se for um nodo interno, ser realizada uma busca pela
sub-rvore onde deve ser inserida a chave, no caso de nodo cheio ser realizada a
diviso (figura 4.1).
No pior caso de uma insero ela se dar numa folha, necessitando O (h) chamadas
recursivas do procedimento de insero, cada uma com O (1) acessos a memria
secundria e O (t) operaes. A complexidade total de O (logt n) acessos a memria
secundria e O (t logt n) operaes.
Figura 4.1: Insero da chave 40 em nodo com espao (1) e insero da chave 10 em
nodo cheio (2). Note que a raiz tambm estava cheia, necessitando de uma diviso
recursiva. Demais nodos formam omitidos para facilitar entendimento.
4.4
Remoo
14
15
16
5 CONCLUSO
Aps o estudo de diferentes tipos de rvores, e sua comparao com rvores B+,
notasse que alm de ser uma estrutura que aproveita as caractersticas fsicas dos
computadores para um melhor desempenho, as rvores em geral tm um ganho em
relao s demais por sua altura reduzida em relao a rvores binrias, mais uma vez
reduzindo o tempo de operao com um menor nmero de acessos a disco. O ganho
ainda pode ser maior se for estruturado como uma rvore B+ Virtual, colocando uma
boa parte da rvore na memria principal, e com um gerenciamento de memria virtual
do tipo menos recentemente utilizada (LRU) ter as pginas mais recentes disponveis, o
que facilita a insero e excluso de chaves.
17
REFERNCIAS
18
TRABALHO FINAL
RVORES B+