110 likes | 198 Views
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
E N D
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. • Busca binária no arquivo • 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ágina • Custo = C(log2R) • Custo total = D (log2B) + C (log2R)
Arquivos Ordenados : Busca Seleçã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.