cálculo de custos de operações i/o – arquivos ordenados

11
Cálculo de Custos de Operações I/O – Arquivos Ordenados AULA 6 Profa. Sandra de Amo GBC053 – BCC

Upload: nola

Post on 19-Jan-2016

20 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Cálculo de Custos de Operações I/O – Arquivos Ordenados

Cálculo de Custos de Operações I/O – Arquivos Ordenados

AULA 6

Profa. Sandra de Amo

GBC053 – BCC

Page 2: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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

Page 3: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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)

Page 4: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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

Page 5: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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)

Page 6: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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

Page 7: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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)

Page 8: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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)

Page 9: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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)

Page 10: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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.

Page 11: Cálculo de Custos de Operações I/O – Arquivos Ordenados

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