Cálculo de Custos de I/O
Heap Files
AULA 4
Profa. Sandra de Amo
Gerenciamento de Banco de Dados – BCC
Modelo de Custo
Hipóteses
B
= Número de Páginas
R = Número de registros por página
D = Tempo médio para ler ou escrever uma página
no disco
± 25 msec
C = Tempo médio para processar um registro
± 1 a 10 microsec
Custo = número de acessos ao disco
05/11/2015
2
Operações em Arquivos
 Scan : ler todos os registros de um arquivo


Páginas devem localizadas no disco e serem carregadas no Buffer
Pool
Registros devem ser localizados nas páginas
 Busca com seleção =


Páginas com os registros selecionados devem ser localizadas e
carregadas
Registros devem ser localizados nas páginas
 Busca com seleção > ou <


05/11/2015
Páginas com os registros selecionados devem ser localizadas e
carregadas
Registros devem ser localizados nas páginas
3
Operações
 Inserção
 Identificar a página na qual registro deve ser inserido
 Carregar esta página no buffer pool
 Incluir novo registro
 Escrever a página modificada no disco
 Deleção
 Identificar a página contendo o registro
 Carregar esta página no buffer pool
 Modificar a página
 Escrever a página modificada no disco
05/11/2015
4
Lembrando...
 B = Número de Páginas
 R = Número de registros por página
 D = Tempo médio para ler ou escrever uma página no disco


Ler = localizar no disco + carregar
Escrever = localizar posição no disco + transferir
dados para o disco
 C = Tempo médio para processar um registro no buffer
05/11/2015
5
Heap Files
 Scan
 Cada
página deve ser lida
 Processar R registros por página
 Custo = B(D+RC)
05/11/2015
6
Heap Files
 Procura (Sel « = « na chave)





Atenção: Chave primária ou candidata da tabela !!
Encontrou, pára !
Em média, metade do arquivo deve ser
escaneado para se encontrar a página
correspondente ao registro.
Carregar a página
Escanear a página à procura do registro
 Custo
05/11/2015
= 0.5B(D + RC)
7
Heap Files
 Procura (Sel « = « não-chave)
 Todo o arquivo deve ser escaneado
 Tempo = B(D+RC)
 Procura (Sel <)
 Todo o arquivo deve ser escaneado
 Tempo = B(D+RC)
 Inserção
 Registros são inseridos sempre no final do arquivo
 Página final deve ser carregada, modificada e escrita
de volta no disco
 Tempo = 2D + C
05/11/2015
8
Heap Files
 Deleção de um registro




Encontrar a página do registro
Remover o registro da página
Escrever a página modificada
Tempo = Sel + D
Tempo de localizar a página
onde se encontra o registro,
trazer a página correspondente
para o buffer pool, encontrar o registro
Na página e processar o registro
05/11/2015
Tempo para escrever a página
no disco
9
Resumo – Heap Files
Scan
Sel =
Sel =
chave
Nchave
B(RC+D)
0.5
B(RC+D)
B(D+RC)
BD
0.5BD BD
Sel <> Insert
Delete
sel
B(D+RC)
2D+C
Sel +
+ ND
BD
2D
Sel+ND
N= número de páginas modificadas
Exemplos
Relação EMP
B = 1000 páginas
R = 100.000 registros por página
D = 25 msec = 25 * 10-3 seg
C = 10 microsec = 10-5 seg
Consulta : Select * From EMP WHERE SAL > 10.000
Tempo I/O = 1000*25* 10-3 = 25 seg
Tempo total = 1000(25* 10-3 + 105 * 10-5) = 25 +1000 = 1025 seg =
17min
Total de I/O = 1000
Exemplos
Inserção
Insert into EMP values (João, 10.000,Vendas)
Tempo I/O = 2*25* 10-3 seg = 0.05 seg
Tempo total = 2*25* 10-3 + 10-5 seg = 0.05001
Total de I/O = 2
Deleção
Delet FROM EMP WHERE Emp.Nome = João AND Emp.Sal = 10.000
AND Emp.Dept = Vendas
Tempo I/O = ½ 25 + 0.025 = 12.525 seg
Tempo total = ½ 17min + 0.025 seg = 8.5min + 0.025 seg
Total de I/O = 501
Download

Slides - Sandra de Amo