Outros Tipos de Índices
-
Upload
samuel-salamon -
Category
Documents
-
view
240 -
download
5
description
Transcript of Outros Tipos de Índices
Outros Tipos de Índices
Arquitetura e Desempenho de Banco de DadosINF01023 - 2011/1
Samuel Salamon - 173255
Índices
Existem vários tipos de índices:
• em nível único• multinível• multinível dinâmico• índices em chaves múltiplas
Outros Tipos de Índice
Pode-se usar hashing e outras estruturas de acesso baseadas em hashing como índices:
• hashing estático• hashing dinâmico
Outros Tipos de Índice
Pode-se usar hashing e outras estruturas de acesso baseadas em hashing como índices:
• hashing estático• hashing dinâmico
Hashing Estático
Hash é realizar a função h(k) sobre a chave k e transformá-la em um endereço, que é usado para recuperação de dados.
Vantagem:
– Evita o acesso a uma estrutura de índice
Desvantagem:
– Pode causar colisões entre chaves
– Tamanho fixo
Hashing Estático
Exemplo:
80 registros de pessoas Chave é o nome de pessoa h(k) → multiplicar os valores ASCII dos 2 primeiros caracteres de k. Considerar os 3 últimos dígitos.
Exemplo
J O Ã O
Exemplo
J O Ã O
Exemplo
J O Ã O
Exemplo
J O Ã O
74
Exemplo
J O Ã O
7974
Exemplo
J O Ã O
7974
74(J) x 79(O) = 5846
Exemplo
J O Ã O
7974
74(J) x 79(O) = 5846
Problemas
Problemas neste exemplo:
Muitas colisões; Combinações disperdiçadas (ex.: xz, yt...);
Outros Tipos de Índice
Pode-se usar hashing e outras estruturas de acesso baseadas em hashing como índices:
• hashing estático• hashing dinâmico
Outros Tipos de Índice
Pode-se usar hashing e outras estruturas de acesso baseadas em hashing como índices:
• hashing estático• hashing dinâmico
Hashing Dinâmico
Função h(k) adaptada para a variação de tamanho no banco de dados. Hashing extensível
Hashing Extensível
Divide e une os buckets enquanto o banco cresce/diminui Eficiência de espaço é mantida Função gera valores por intervalos relativamente grandes Buckets criados por demanda
Hashing – Estático x Dinâmico
Vantagens do hashing dinâmico:
Desempenho mantido quando o banco aumenta Sobrecarga de espaço mínima Sem necessidade de reservar buckets
Desvantagens: Exclusão é um processo demorado
Considerações Finais
A principal diferença entre hashing estático e dinâmico é a capacidade de mudar o tamanho da tabela da hashing dinâmico.
Porém, ambos ainda são suscetíveis às colisões causadas pela escolha da função de hash.