Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso

Slides:



Advertisements
Apresentações semelhantes
Otimização de Consultas em SQL Estimativas de Custos
Advertisements

Estruturas de Indexação
UNICAMP Universidade Estadual de Campinas Centro Superior de Educação Tecnológica Divisão de Telecomunicações Propagação de Ondas e Antenas Prof.Dr. Leonardo.
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Indice estruturado por Hash
Cálculo de Custos de Operações I/O – Arquivos Ordenados
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
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
Gerenciamento de Arquivos, Páginas e Registros RESUMO DA AULA 3 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Projeção eliminando Duplicatas
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
Algoritmos para Operação de Junção
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
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 AULA 14 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Método de Acesso Dinâmico: B-Tree - Deleção Chaves de busca sem duplicatas AULA 9 Profa. Sandra de Amo GBC053 – BCC
Algoritmos para Operação de Junção AULA 17 Profa. Sandra de Amo Programa de Pós-Graduação em CC - UFU Sistemas de Banco de Dados
Revisão Prova 2 Métodos de Acesso: BTree e Hash AULA 20 Profa. Sandra de Amo GBC053 – BCC
Hashing Extensível o espaço de endereços disponíveis não é fixo
Arquivos Seqüenciais Inhaúma Neves Ferraz
Árvores B Conceitos Exemplos.
Arquivos Extensíveis.
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Sistemas de Informações Geográficas
Algoritmos para Operação de Junção Loops Aninhados
Árvores binárias de pesquisa com balanceamento
INF70 – Gerenciamento de Banco de Dados 2 Ordenação Externa Ilmério Reis da Silva UFU/FACOM/BCC.
INF70 – Gerenciamento de Banco de Dados 2 Índices baseados em Hash Ilmério Reis da Silva UFU/FACOM/BCC.
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.
Estruturas de Dados com Jogos
Estruturas de Dados com Jogos
Coordenação Geral de Ensino da Faculdade
Indices: Estruturas Auxiliares para Otimizar Acesso aos Dados
Algorítmos e estrutura de dados III
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.
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
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
© Copyright 2007 Algoritmos e Estruturas de Dados - Todos os direitos reservados Átila Valgueiro Malta Moreira Juliana Medeiros de Lucena Rafael Alberto.
Caminhos da Cana Relatório e show de imagens Marcos Fava Neves Prof. FEA/USP Ribeirão Preto Purdue University (2013)
Árvores B Obs: Uma árvore 2-3 é uma árvore B de ordem 1.
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.
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.
INF70 – Gerenciamento de Banco de Dados 2 Índices baseados em Árvores Ilmério Reis da Silva UFU/FACOM/BCC.
Algoritmos de Junção – Sort Merge Join e Hash Join
Algoritmos para Seleção AULA 23 Profa. Sandra de Amo GBC053 – BCC.
Transcrição da apresentação:

Cálculos de Custos I/O-Arquivos Hash Introdução aos Métodos de Acesso RESUMO AULA 7 Profa. Sandra de Amo GBC053 – BCC 2012-2

Lembrando: Páginas do arquivo de índice são agrupadas por buckets Bucket é determinado aplicando-se uma função h ao campo de procura Exemplo: estamos procurando todos os empregados de salário = 5000 Como encontrá-los rapidamente ? Indice organizado por hash no campo Salário Função hash: mod 3 Onde estão os rids dos empregados com salário = 5000 ? 5000 mod 3 = 2 Resposta: bucket 2 Bucket 1 Bucket 2 Bucket 3

Resumo - Hash Scan Sel = Sel <> Insert Delete sel chave Nchave 1.25B (D+RC) H + D + RC 1.25B(D+RC) H+2D+ C Sel + D + RC 1.25BD D 2D Sel+D

Escolha de uma Boa Organização Scan Sel = chave Nchave Sel <> Insert Delete Heap BD 0.5BD 2D 2D+Sel Ord Dlog2B Dlog2B + B/2(D+RC) Dlog2B+ D Hash 1.25BD Sel+D

ISAM - Motivação Quais os empregados com salário > 2000 ? Busca binária no arquivo de índice até encontrar o primeiro salário > 2000 Escaneia o arquivo de índice a partir deste ponto e lê os registros correspondentes. Se o arquivo de índice é muito grande : busca binária pode ser dispendiosa. 5

Idéia Criar um segundo arquivo com um registro para cada página do arquivo de indice original <primeira chave da página, ponteiro da página> Ordenado por chave

Como são os nós internos da estrutura ISAM ? Pi = ponteiros que apontam para um núm. de página no nível imediatamente inferior Ki = valor do atributo chave do índice. Exemplo: se o atributo chave é idade então Ki é um valor de idade. P0 K1 P1 K2 P2 K3 ... Pi Ki+1 Pi+1 ... Km Pm K < Ki+1 K ≥ Ki+1 Valores K da chave nesta página são < Ki+1 Valores K da chave nesta página são ≥ Ki+1

Organização do índice em árvore Páginas auxiliares que permitem chegar rapidamente a uma folha Páginas do arquivo de índice Páginas do Arquivo de Dados

Discussão ISAM é uma estrutura estática Na criação do arquivo Páginas primárias (folhas) são alocadas 20% de cada página é livre para posteriores inserções, tentando “adiar” ao máximo a criação de páginas de overflow Páginas intermediárias são criadas. Manutenção : Páginas de overflow são alocadas à medida que as páginas primárias do índice ficam cheias em decorrência de inserções.

Esquema Geral do Método ISAM Páginas dos arquivos de indices (a partir da 2a camada) Páginas primárias – as entradas do arquivo de índice da primeira camada Páginas de overflow

Busca na estrutura ISAM Exemplo: Busca da chave 27 Em cada nível da estrutura: P0,K1,P1,K2,...,Km,Pm m chaves e m+1 ponteiros Se 27 < K1: transfere a busca para a página apontada por P0 Se 27 ≥ Km: transfere a busca para a página apontada por Pm Caso contrário: varre-se a página para encontrar chaves K1, K2 tais que Ki ≤ 27 < Ki+1 Transfere a busca para a página apontada por Pi

Exemplo: Busca de um registro de dados Busca da chave 27 Raiz 40 51 63 20 33 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97*

Inserção de um registro Raiz 40 51 63 20 33 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* 23* 48* 41* Página de Overflow 42*

Deleção de um registro Deleção de 42*, 51*, 97* Procura 51* Raiz Nunca são alteradas !! 40 51 63 20 33 10* 15* 20* 27* 33* 37* 40* 46* 51* 55* 63* 97* 23* 48* 41* Pagina de Overflow 42*

Custo para chegar em uma folha Número de I/O = número de níveis da árvore Capacidade de cada página = F = número de ponteiros saindo de cada página Total de páginas primárias = N Número de níveis = logF N Logo Custo I/O para chegar em uma folha = logF N

Comparação de Custos Custo de uma busca A = a Arquivo de 1 000 000 registros 10 registros por página de dados : total de páginas = 100 000 100 ponteiros em cada página de índice (99 entradas (chave,pt) + ponteiro P0) Arquivo não ordenado por A Scan = 1000 000/10 = 100000 I/0 Arquivo ordenado por A Busca binária = log2 100000 = 17 I/0 Arquivo estruturado usando método ISAM Arquivo de indice usa alternativa 1 (registro do indice = registro de dados) Custo = log100 100000 = entre 2 e 3 I/0, pois 1002 < 100000 < 1003