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

Slides:



Advertisements
Apresentações semelhantes
LISTAS Dilvan Moreira, parcialmente baseado em material do prof. Ricardo Campello.
Advertisements

Otimização de Consultas em SQL Estimativas de Custos
Álgebra Relacional Marcelo Mendes Manaus
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Algoritmos de Busca CONTEÚDO (1) Motivação (2) Busca Linear
Bulk Loading – Algoritmo AULA 12 - COMPLEMENTO Profa. Sandra de Amo GBC053 – BCC Sandra de Amo.
RESUMO DA AULA 5 Profa. Sandra de Amo GBC053 – BCC
Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso
Indices estruturados por B-TREE
Organização de Arquivos Cálculo de Custos de I/O Arquivos Hashed AULA 7 – Parte I Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Projeção eliminando Duplicatas
Gerenciamento de Disco e de Buffer - Resumo
Organização de Arquivos Introdução RESUMO DA AULA 4 Profa. Sandra de Amo GBC053 – BCC
Algoritmos de Junção – BNL e IndexNL AULA 16 Profa. Sandra de Amo GBC053 – BCC
AULA 27 Profa. Sandra de Amo GBC053 – BCC
Organização de Arquivos Introdução
Gerenciamento do Disco Gerenciamento do Buffer
Algoritmos para Seleção Simples AULA 16 Profa. Sandra de Amo GBC053 – BCC
Estimativas de Custos: Arquivos Heap, Ordenados e Hashed Indices e Métodos de Acesso AULA 13 Profa. Sandra de Amo Programa de Pós-graduação em Ciência.
Organização de Arquivos Tipos de Indices Cálculo de Custos de I/O
Algoritmos de Junção – Sort-Merge Join Hash Join
AULA 10 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Seleção com Condições Gerais AULA 17 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Seleção e Projeção
Algoritmos para Seleção Simples
Algoritmos para Operações de Conjuntos AULA 19 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operação de Junção – NLJ orientado a tuplas e NLJ orientado a páginas AULA 15 Profa. Sandra de Amo GBC053 – BCC
AULA 23 Profa. Sandra de Amo GBC053 – BCC
Gerenciamento de Arquivos, Páginas e Registros
Mineração de Preferências (a partir de amostras superiores e inferiores) J.Pei et al. KDD 2008 AULA 18 Data Mining Profa. Sandra de Amo.
Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Projeção e Operações de Conjuntos AULA 22 Profa. Sandra de Amo GBC053 – BCC
B-tree Gerenciamento de Duplicatas Bulk Loading AULA 12 Profa. Sandra de Amo GBC053 – BCC
Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC
Revisão Prova 2 Métodos de Acesso: BTree e Hash AULA 20 Profa. Sandra de Amo GBC053 – BCC
HeapSort Filas de Prioridade – Heap
Classificação e Pesquisa de Dados
Classificação (Ordenação) de dados
Prof. Alexandre Parra Organização dos Dados Prof. Alexandre Parra
Árvores Binárias de Pesquisa (ABP)
Método de Ordenação: InsertionSort
Algoritmos para Operação de Junção Loops Aninhados
Algoritmos e Estruturas de Dados II
Geração de Planos de Execução Planos para Consultas Aninhadas
Cálculo de Custos de I/O Heap Files AULA 4 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.
Arquivos Estruturados por Ordenação– Custos I/O AULA 5 Profa. Sandra de Amo GBC053 – BCC.
Árvore de Pesquisa Memória Secundária Engenharia de Computação - UFG.
Indices: Estruturas Auxiliares para Otimizar Acesso aos Dados
Aula 03 – BCC202 Análise de Algoritmos (Parte 1) Túlio Toffolo www
Ordenação Externa de Arquivos – Um exemplo
Revisão Prova 2 Métodos de Acesso – Parte 2 AULA 21 Profa. Sandra de Amo GBC053 – BCC.
Universidade Católica de Pelotas Mestrado em Ciência da Computação
Operações de Inserção e Remoção – BTree Resumo
Arquivos Estruturados por Hashing– Custos I/O
Algoritmos de Junção – Sort-Merge Join Otimizado Hash Join
Listas de Prioridades Em muitas aplicações, dados de uma coleção são acessados por ordem de prioridade A prioridade associada a um dado pode ser qualquer.
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
AULA 20 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operações Binárias entre blocos SQL AULA 19 – Parte I Profa. Sandra de Amo GBC053 – BCC.
Como analisar um algoritmo
AULA 21 Profa. Sandra de Amo BCC - UFU
Algoritmos de Junção – IndexNL e Sort Merge Join AULA 19 Profa. Sandra de Amo GBC053 – BCC.
Algoritmos para o operador de Projeção AULA 19 – Parte II Profa. Sandra de Amo GBC053 – BCC.
Algoritmos de Junção – Sort Merge Join e Hash Join
Algoritmos para Seleção AULA 23 Profa. Sandra de Amo GBC053 – BCC.
Árvores Balanceadas (AVL)
Critérios de Avaliação de Matemática para o Primeiro Ciclo.
Classificação (Ordenação) de dados. Roteiro Contextualização e definições sobre Classificação Métodos de Classificação de Dados.
Anomalias de Inserção, Remoção e Atualização
Transcrição da apresentação:

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

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 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 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 BD Dlog2B Dlog2B + DB/2 Dlog2B+BD Dlog2B+ Só I/O Scan Sel = chave Nchave Sel <> Insert Delete Sel = chave B(D+RC) Dlog2B + Clog2R + RC/2 Dlog2B + Clog2R B/2(D+RC) D(log2B)+ C(log2R) D(log2B)+ C(log2R) BD Dlog2B Dlog2B + DB/2 Dlog2B+BD Dlog2B+ Só I/O