cálculo de custos de operações i/o – arquivos ordenados
DESCRIPTION
Cálculo de Custos de Operações I/O – Arquivos Ordenados. AULA 6 Profa. Sandra de Amo GBC053 – BCC. Estudaremos nesta aula. Estimativa de custos de I/O para operações de: Scan no arquivo Inserção de tuplas em arquivos ordenados Remoção de tuplas em arquivos ordenados - PowerPoint PPT PresentationTRANSCRIPT
Cálculo de Custos de Operações I/O – Arquivos Ordenados
AULA 6
Profa. Sandra de Amo
GBC053 – BCC
Estudaremos nesta aula
Estimativa de custos de I/O para operações de: Scan no arquivo Inserção de tuplas em arquivos ordenados Remoção de tuplas em arquivos ordenados Busca em arquivos ordenados pelo atributo-
chave de busca Busca em arquivos ordenados por atributos
diferentes do atributo-chave de busca
Arquivos Ordenados : SCAN
Cada página deve ser transferida do disco Tempo de transferência = D
Cada página deve ser processada no buffer (R registros são processados) Tempo de processamento = RC
Custo total por página = D + RC
Custo total da operação SCAN = B(D+RC)
Atenção
Nas operações de busca em arquivos ordenados, vamos supor que: O arquivo está ordenado por um atributo A A busca é feita pelo atributo A
O atributo A pode ou não ser chave da relação onde está sendo feita a busca
Caso a busca seja feita por um atributo diferente de A, o custo é o mesmo de um SCAN
Arquivos Ordenados : Busca
Seleção A = a A : atributo chave (da relação) Atenção: Chave = chave da relação !!Arquivo é ordenado pela chave da relação.
1) Busca binária no arquivo 2) Cada passo = uma operação de input + 1 registro processado no
buffer• Custo de cada operação de Input = D• Custo para processar todas as páginas necessárias na busca
binária até encontrar a página onde está o registro procurado = D(log2B)
3) Uma vez encontrada a página onde está o registro, fazer busca binária na páginaCusto = C(log2R)
Custo total = D (log2B) + C (log2R)
Arquivos Ordenados : BuscaSeleção A = a A : atributo não-chave (da relação)
Os registros satisfazendo a condição são adjacentes (pois o arquivo é ordenado pelo atributo da seleção )
1) Localizar o primeiro registro satisfazendo a condição CUSTO = Dlog2B + C log2R
2) Ler todos os registros subsequentes em ordem sequencial
Em média tais registros satisfazendo a condição cabem em uma página. Em média, o primeiro registro satisfazendo a condição encontra-se no meio da
página.
Custo = D log2B + C log2R + custo de ler o resto
Custo total estimado = D log2B + C log2R + RC/2
Arquivos Ordenados : Busca
Seleção A > a
A : atributo chave (da relação)
1) Localizar o primeiro registro
Custo = Dlog2B + C log2R
2) Ler todos os registros subsequentes em ordem sequencial
Custo = Dlog2B + C log2R + custo de ler o resto
Custo estimado= Dlog2B + C log2R + B/2(D+RC)
Arquivos Ordenados : Inserção
Inserção Suponhamos que o arquivo esteja ordenado pela chave da relação
(A) Encontrar a posição onde deve ser inserido o registro (a1, a2, …, an)
Custo de uma busca A = a1, onde A é chave da relação =
D (log2B) + C(log2R) Inserir registro (em média, encontra-se na metade do arquivo) Reescrever todos os registros subsequentes da página onde foi
feita a inserção (shift nos demais registros)
Custo = Busca posição + 2*0.5*B(D + RC) = Custo estimado = D (log2B) + C(log2R)+ B(D+RC)
Arquivos Ordenados : Deleção Deleção:
supondo que o arquivo está ordenado pelo atributo de que seleciona os registros a serem removidos
Encontrar a página do primeiro registro satisfazendo a condição de deleção
Custo = tempo da busca pelo registro (depende da condição da operação de deleção: A = a , A > a, se A é chave da relação ou não)
Remover o(s) registro(s) das páginas Escrever a(s) página(s) modificada(s) Reescrever todos os registros subsequentes aos que foram
removidos, somente nas páginas onde ocorreram remoções
Se for um único registro a ser removido A = a : Custo estimado = Busca registro + 2.0.5B(D + RC) = D (log2B) + C(log2R) + B(D+RC)
Importante :
Para efeito dos cálculos de custos, estamos supondo que a condição de seleção é especificada no atributo pelo qual o arquivo está ordenado.
Caso a condição de seleção não seja sobre o atributo pelo qual o arquivo é ordenado, os custos são os mesmos que para os arquivos Heap.
Resumo - Ordenados
Scan Sel =
chave
Sel =
Nchave
Sel <> Insert Delete
Sel = chave
B(D+RC) Dlog2B + Clog2R
Dlog2B + Clog2R
+
RC/2
Dlog2B +
Clog2R
+
B/2(D+RC)
D(log2B)+ C(log2R) + B(D+RC)
D(log2B)+ C(log2R) + B(D+RC)
BD Dlog2B Dlog2B Dlog2B + DB/2
Dlog2B+BD
Dlog2B+
BD
Só I/O