cálculos de custos i/o-arquivos hash introdução aos métodos de acesso resumo aula 7 profa....
TRANSCRIPT
![Page 1: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/1.jpg)
Cálculos de Custos I/O-Arquivos Hash
Introdução aos Métodos de Acesso
RESUMO AULA 7Profa. Sandra de Amo
GBC053 – BCC2012-2
![Page 2: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/2.jpg)
Lembrando: Páginas do arquivo de índice são agrupadas por buckets
Bucket é determinado aplicando-se uma função h ao campo de procura
Exemplo: estamos procurando todos os empregados de salário = 5000Como encontrá-los rapidamente ?
Indice organizado por hash no campo SalárioFunção hash: mod 3Onde estão os rids dos empregados com salário = 5000 ?5000 mod 3 = 2 Resposta: bucket 2
Bucket 1 Bucket 2 Bucket 3
![Page 3: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/3.jpg)
Resumo - Hash
Scan Sel = chave
Sel = Nchave
Sel <>
Insert Delete
sel1.25B (D+RC)
H + D + RC
1.25B(D+RC)
1.25B(D+RC)
H+2D+ C Sel +
D + RC
1.25BD D 1.25BD 1.25BD 2D Sel+D
![Page 4: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/4.jpg)
Escolha de uma Boa Organização
Scan Sel =
chave
Sel = Nchave
Sel <> Insert Delete
Heap BD 0.5BD BD BD 2D 2D+Sel
Ord BD Dlog2B Dlog2B Dlog2B + B/2(D+RC)
Dlog2B+
D
Dlog2B+
D
Hash 1.25BD D 1.25BD 1.25BD 2D Sel+D
![Page 5: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/5.jpg)
ISAM - Motivação Quais os empregados com salário > 2000 ? Busca binária no arquivo de índice até
encontrar o primeiro salário > 2000 Escaneia o arquivo de índice a partir deste
ponto e lê os registros correspondentes. Se o arquivo de índice é muito grande : busca
binária pode ser dispendiosa.
![Page 6: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/6.jpg)
IdéiaCriar um segundo arquivo com um registro para cada página do arquivo de indice original
<primeira chave da página, ponteiro da página>
Ordenado por chave
![Page 7: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/7.jpg)
Como são os nós internos da estrutura ISAM ?
P0 P1 P2 Pi Pi+1 PmK1 ... ...K2 K3 Ki+1 Km
Pi = ponteiros que apontam para um núm. de página no nível imediatamente inferior
Ki = valor do atributo chave do índice. Exemplo: se o atributo chave é idade então Ki é um valor de idade.
K < Ki+1 K ≥ Ki+1
Valores K da chave nesta página são < Ki+1
Valores K da chave nesta página são ≥ Ki+1
![Page 8: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/8.jpg)
Organização do índice em árvore
Páginasauxiliaresque permitemchegar rapidamente a uma folha
Páginas do arquivo de índice
Páginas do Arquivo de Dados
![Page 9: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/9.jpg)
Discussão ISAM é uma estrutura estática
Na criação do arquivo Páginas primárias (folhas) são alocadas 20% de cada página é livre para posteriores inserções,
tentando “adiar” ao máximo a criação de páginas de overflow
Páginas intermediárias são criadas. Manutenção :
Páginas de overflow são alocadas à medida que as páginas primárias do índice ficam cheias em decorrência de inserções.
![Page 10: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/10.jpg)
Esquema Geral do Método ISAM
Páginasdos arquivosde indices(a partir da 2a camada)
Páginas de overflow
Páginas primárias –as entradas do arquivo de índice da primeira camada
![Page 11: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/11.jpg)
Busca na estrutura ISAMExemplo: Busca da chave 27Em cada nível da estrutura: P0,K1,P1,K2,...,Km,Pm m chaves e m+1 ponteiros
Se 27 < K1: transfere a busca para a página apontada por P0 Se 27 ≥ Km: transfere a busca para a página apontada por Pm Caso contrário: varre-se a página para encontrar chaves K1,
K2 tais que Ki ≤ 27 < Ki+1 Transfere a busca para a página apontada por Pi
![Page 12: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/12.jpg)
Exemplo: Busca de um registro de dados
40
Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Busca da chave 27
![Page 13: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/13.jpg)
Inserção de um registro
40Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Inserção de 23*, 48*, 41*, 42*
23*
Página de Overflow
48* 41*
42*
![Page 14: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/14.jpg)
Deleção de um registro
40Raiz
5120
10* 15* 20* 27* 33* 37* 46*40* 51* 55* 63* 97*
3363
Deleção de 42*, 51*, 97*
23*
Pagina de Overflow
48* 41*
42*
Procura 51*
Nunca sãoalteradas !!
![Page 15: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/15.jpg)
Custo para chegar em uma folha Número de I/O = número de níveis da árvore
Capacidade de cada página = F = número de ponteiros saindo de cada página
Total de páginas primárias = N Número de níveis = logF N
Logo Custo I/O para chegar em uma folha = logF N
![Page 16: Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2](https://reader035.vdocuments.pub/reader035/viewer/2022062418/552fc105497959413d8c043a/html5/thumbnails/16.jpg)
Comparação de CustosCusto de uma busca A = a
Arquivo de 1 000 000 registros 10 registros por página de dados : total de páginas = 100 000 100 ponteiros em cada página de índice (99 entradas (chave,pt) +
ponteiro P0) Arquivo não ordenado por A
Scan = 1000 000/10 = 100000 I/0 Arquivo ordenado por A
Busca binária = log2 100000 = 17 I/0 Arquivo estruturado usando método ISAM
Arquivo de indice usa alternativa 1 (registro do indice = registro de dados)
Custo = log100 100000 = entre 2 e 3 I/0, pois 1002 < 100000 < 1003