Вы находитесь на странице: 1из 44

Prof.

Frederico

INDEXAO
O estabelecimento do ndice. O que os buscadores fazem "indexar" pginas. Cria-se um banco de dados para cada termo que buscado e nesse arquivo pem as pginas relacionadas a essa palavra; Se voc fizer alteraes no seu site, elas s aparecero depois que a ferramenta de busca fizer uma nova indexao

INDEXAO
As palavras-chave.
As palavras-chave so um campo muito importante da indexao. o principal mtodo de pesquisa dos sites de busca;

Regras gerais
A principal regra utilizar um nmero limitado de palavras-chave; Quanto menos palavras-chave utilizar, mais relevantes elas sero.

Ordem das palavras-chave.


uma especificidade dos melhores sites de busca e muito importante ordenar corretamente as suas palavras-chave

Relativamente ao idioma
deve-se indexar um arquivo num nico idioma

A preciso

ndices
So estruturas de dados (arquivos) adicionais quelas contendo os registros de dados (vide tpico anterior) Provm caminhos de acesso alternativos aos registros sem afetar a disposio fsica dos registros no arquivo Um ndice acelera a recuperao de registros baseada no campo de indexao
Campo de indexao ou campo chave: atributos indexadores usados para construir o ndice e para encontrar o end. do registro buscado. Chave de busca: outro termo utilizado para fazer referncia ao conjunto de campos usado para indexao de um arquivo. No confundir com o conceito de chave. A princpio, qualquer subconjunto de campos do registro de um arquivo pode compor uma chave de busca para construo de um ndice sobre tal arquivo. 4

ndices
O que um ndice: Estrutura de dados interna ao SGBD que permite acesso mais rpido s informaes do banco. Exemplo (simplificado):
Fornecedor
CODIGO NOME STATUS CIDADE

ndice sobre o atributo Nome de Fornecedor Nome Endereo (Bloco)

F1
F2

SMITH
JONES

20
10

LONDRES
PARIS

ADAMS
BLAKE CLARK JONES

5
3 4 2

F3
F4 F5

BLAKE
CLARK ADAMS

30
20 30

PARIS
LONDRES ATENAS

SMITH

Observao: ndices devem ser utilizados com critrio pois afeta desempenho das consultas e das demais operaes.

ndices
Vantagens:
Acesso mais rpido ao registro quando a procura sobre campo indexado. Menos I/O: arquivo de ndice menor que o arquivo de dados.

Desvantagens:
Incluso, excluso e alterao ficam mais lentas. Mais espao de armazenamento.
6

Tipos de ndices
Ind. Primrio x nd. Secundrio x nd. Clustering
ndice Denso x ndice no Denso (Esparso) ndice de um nico nvel x ndices de Mltiplos

Nveis

ndices Invertidos

Tipos de ndices
Um ndice Primrio construdo sobre o campo-chave de classificao de um arquivo ordenado de registros
Lembrando que: campo-chave de classificao o campo usado para ordenar fisicamente os registros do arquivo no disco, e cada registro deve possuir um valor nico para o campo

Um ndice Clustering construdo sobre um campo de ordenao que no um campo chave e por isso, diversos registros no arquivo podem ter o mesmo valor para este campo Um ndice Secundrio construdo sobre quaisquer outros campos que no os de ordenao fsica do arquivo.
Obs: Um arquivo pode ter, no mximo, um campo de classificao fsica, portanto, 8 ele s ter um ndice primrio ou um ndice de cluster, mas no ambos.

Tipos de ndices
Um ndice Denso possui uma entrada no ndice para cada registro no arquivo de dados.
Os registros podem estar armazenados em qualquer ordem no arquivo.

Um ndice No Denso (ndice esparso) consiste num ndice para blocos ou pginas do arquivo, cada um dos quais contendo um grupo de registros.
Os registros precisam estar organizados segundo o atributo indexador.

ndices Primrios
Registros com 2 campos:
Campo de mesmo domnio da chave de classificao do arquivo de dados Ponteiro para um bloco de disco (end. bloco)

Uma entrada de ndice para cada bloco


Em cada entrada do ndice, o valor do campo chave contm o valor do mesmo campo no primeiro registro do bloco registro ncora. No. de entradas do ndice = No. de blocos que ocupa o arquivo um ndice esparso Precisa de muito menos blocos que o arquivo que indexa, portanto uma busca binria em um arquivo de ndices exige muito menos acessos a blocos
10

ndices Clustering
Campo de indexao no campo chave
Pode haver valores repetidos chamado de campo de agrupamento

Registros com 2 campos:


Campo de mesmo domnio do campo de indexao do arquivo de dados Ponteiro para um bloco de disco (end. bloco)

H uma entrada no ndice para cada valor distinto que o campo de indexao assume
ndice esparso No necessariamente o registro ncora contm o mesmo valor do campo de indexao do ndice Para aliviar o problema da incluso usa-se reservar um bloco ou conj de blocos para cada valor distinto
11

Indices Secundrios
Pode haver vrios para um mesmo arquivo Estrutura similar aos outros tipos: 2 campos Pode ser construdo
sobre chave-candidata valor nico por registro
Uma entrada para cada entrada do ndice (ndice denso), pois como o arquivo no est ordenado por chave-candidata, no podem ser utilizadas ncoras de bloco Como h um maior nmero de entradas, ento maior tempo de busca em relao ao ndice primrio Mas comparativamente ao arquivo no indexado, o ganho maior, pois sem o ndice seria necessrio realizar uma busca linear
12

Indices secundrios (cont.)


Tambm pode ser construdo
Sobre campo repetidos no-chave com valores
Diversas entradas no ndice com um mesmo valor Uma outra opo seria manter registros de tamanho varivel nas entradas de ndice (campo multivalorado), com vrios endereos de bloco para um dado valor de indexao A opo mais usada mantm registros de ndice fixos e acrescenta mais um nvel com os endereos de bloco
13

Resumindo...
Campo de Indexao Utilizado para Classificar o Arquivo Campo de Indexao No Utilizado para Classificar o Arquivo

Campo de indexao chave (no admite repetio de valor)

ndice Primrio

ndice Secundrio (sobre chave candidata)


ndice Secundrio (sobre qualquer atributo no chave)

Campo de indexao no ndice Clustering chave (admite repetio de valor)

14

Resumindo...
Tipo de ndice Nmero de Entradas de ndice (Primeiro Nvel) Denso ou Esparso ncora de Bloco no Arquivo de Dados

Primrio Clustering

Nmero de blocos do arquivo de dados Nmero de valores distintos do campo de indexao

Esparso Esparso

Sim Sim/No (*)

Secundrio (sobre Nmero de registros do Chave Candidata) arquivo de dados

Denso

No

Secundrio (sobre Nmero de registros ou campo que no nmero de valores chave) distintos do campo de indexao

Denso ou Esparso

No

(*) Sim, se todo valor distinto do campo de indexao iniciar um novo bloco; No, caso contrrio

15

ndices de mltiplos nveis (1)


Um ndice de um nico nvel um arquivo ordenado. Por isso, possvel criar um ndice no denso sobre um ndice. Criamos assim um ndice de dois nveis. Esse processo pode ser repetido criando-se um ndice de mltiplos nveis, ou uma estrutura de rvore.

ndices de mltiplos nveis (2)


Pode-se construir ndices multinveis sobre qq ndice seja ele primrio, clustering ou secundrio O problema com esta abordagem surge qdo precisamos incluir e excluir: pode gerar desbalanceamento necessria uma estrutura que se reorganize na medida da necessidade. Ex: rvores B e B+ - que so classificadas como ndices multinveis dinmicos

rvores
A

n raiz (nvel 0)

nvel 1

nvel 2

nvel 3

Sub-rvore de altura 2

n folha
rvore de altura 3
18

rvores de Busca
Usada p/ pesquisa de registro, a partir do valor de um dos campos Uma rvore de ordem p uma rvore em que cada n contm no mximo p-1 valores de busca.

19

Estruturas do tipo rvore B


So estruturas balanceadas de mltiplos nveis, cada bloco do ndice contendo espao para um nmero fixo de ponteiros. Constituem estruturas dinmicas, cujos ns se rearranjam automaticamente com inseres e delees de forma a manter a estrutura balanceada. B significa Balanced, pois todas as folhas esto a mesma distncia do n raiz. Assim as rvores B garantem uma eficincia previsvel. Permitem rpida recuperao de dados tanto randmica quanto sequencialmente. Uma rvore desbalanceada levaria a vrios acessos a bloco at chegar no registro desejado ineficincia 20

rvore B: Balanceamento
Ao tentar inserir em um n completo
Se for raiz, o n se divide em dois ns de nvel 1, onde somente o valor do meio se mantm na raiz. Se no for raiz, o n se divide em dois, e o valor do meio sobe para o n pai, e se o n pai estiver completo, propaga-se a diviso at chegar a raiz

Ao excluir um n com metade da capacidade


Ele combinado com seus vizinhos

21

Inseres e Delees em rvores B

Valores a inserir: 8,5,1,7,3,12,9,6,4

n de uma rvore B de ordem p = 3

22

Inseres e Delees em rvores B

1
5 8

insere 8, 5 insere 1 (overflow)

23

Inseres e Delees em rvores B

5 separa, novo nvel

24

Inseres e Delees em rvores B

insere 7, 3 insere 12 (overflow)

12
7 8

25

Inseres e Delees em rvores B

separa, mesmo nvel 12

26

Inseres e Delees em rvores B

5 4

8 insere 9, 6 insere 4 (overflow)

12

27

Inseres e Delees em rvores B


5

separa e propaga

12
28

Estruturas do tipo rvore B+


H diversas variedades de rvores B, a maior parte das implementaes usa a rvore B+. Na rvore B+ apenas os ns folha tm ponteiros para os registros (ou blocos de registros) de dados.

29

Inseres e Delees em rvores B+


Inserir: 8,5,1,7,3,12,9,6,4
rvore B+ de ordem p = 3 p folha = 2 1

Insere 8, 5 Tenta inserir 1 (overflow)

30

Inseres e Delees em rvores B+

5 separao: novo nvel

31

Inseres e Delees em rvores B+

5 3

insere 7 tenta inserir 3 (overflow)

32

Inseres e Delees em rvores B+


separao mesmo nvel

33

Inseres e Delees em rvores B+


tenta inserir 12 (overflow) 3 5

12

34

Inseres e Delees em rvores B+


5 separao, propagao, novo nvel 3 8

12

35

Inseres e Delees em rvores B+


5 insere 9 tenta inserir 6 (overflow) 3 8 6

12

36

Inseres e Delees em rvores B+


5

separao, mesmo nvel


3 7 8

12

37

Inseres e Delees em rvores B+


5

insere 4

12

38

Inseres e Delees em rvores B+


Eliminando 8
5

12

39

Inseres e Delees em rvores B+


Eliminando 3
5

12

40

Bons/ Maus candidatos para ndice


Examinar as consultas e operaes sobre as relaes
Bons Candidatos Atributos da Primary key Atributos usados em junes (chaves estrangeiras) Atributos usados na clusula WHERE: escolha aqueles usados em mais consultas ou nas consultas consideradas crticas Atributos usados na ordenao do resultado das consultas Atributos onde agregados so frequentemente calculados Maus Candidatos Atributos com alta taxa de atualizao Atributos com poucos valores distintos, com m distribuio de valores 41 Atributos muito longos

Resumo
Diferentes estruturas de armazenamento existem, cada uma adequada para determinados requisitos comum se ter diversos ndices definidos sobre um arquivo , cada qual com diferentes campos indexadores. No entanto, se o arquivo for muito dinmico, a manuteno dos ndices torna-se cara. O projeto fsico altamente dependente do SGBD em questo, pois normalmente variam bastante seus mecanismos de alocao e gerenciamento de pginas e reas de disco, alm das alterativas de estruturas oferecidas. Aps a etapa inicial de implantao de um BD, seu uso fornece informaes valiosas para que se faa o tuning do mesmo, refinando o projeto inicial. 42

Resumo
Arquivos HEAP so bons para tabelas pequenas ou temporrias Arquivos ordenados ou baseados em estruturas de rvore so adequados para buscas do tipo intervalo (>, etc.) ou segundo a ordem do atributo de ordenao. Tambm servem para buscas baseadas em igualdade. Arquivos Hashed so bons para selees baseadas em igualdade
43

Agradecimento

Profa. Maria Claudia Reis Cavalcanti

Prof. Ronaldo Ribeiro Goldschmidt

44

Вам также может понравиться