Organização de Arquivos Introdução

Slides:



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

Estruturas de Indexação
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Ambientais Ciência da Computação Aula 06: Funções.
AULA 8 Profa. Sandra de Amo GBC053 – BCC
Sistemas operacionais
Sistemas operacionais
Organização e Gerência de Arquivos
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS ESTRUTURAS DE DADOS AVANÇADAS Aula /08/2011 Professor Leomir J. Borba-
SISTEMAS DE INFORMAÇÃO
Ambientes Operacionais
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
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
Gerenciamento de Arquivos, Páginas e Registros RESUMO DA AULA 3 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
Algoritmos para Operação de Junçã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
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
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
1 Complexidade de Algoritmos Complexidade de pior caso Complexidade de melhor caso de uso bem menos freqüente em algumas situações específicas Complexidade.
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.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Prof. Alexandre Parra Organização dos Dados Prof. Alexandre Parra
Algoritmos para Operação de Junção Loops Aninhados
Sistemas Operacionais
Proteção de Memória O sistema operacional deve impedir que um processo tenha acesso ou modifique uma página do sistema sem autorização. Proteção para páginas.
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.
Indices: Estruturas Auxiliares para Otimizar Acesso aos Dados
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
Arquivos Estruturados por Hashing– Custos I/O
Algoritmos de Junção – Sort-Merge Join Otimizado Hash Join
Aula 3 Vetores e Listas. Arrays (vetores) Array – sequência de elementos do mesmo tipo. Tamanho do Array – seu número de elementos (número fixo) Consequência:
Algoritmos de Processamento e Otimização de Consultas
Algoritmos para Operação de Junção Loops Aninhados AULA 17 Profa. Sandra de Amo GBC053 – BCC.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Capítulo 11: Implementação de Sistemas de Arquivos.
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.
Índices Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures.
Algoritmos de Junção – Sort Merge Join e Hash Join
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Algoritmos para Seleção AULA 23 Profa. Sandra de Amo GBC053 – BCC.
Sistemas de Arquivos. Alocação em memória – Problemas Quantidade Limitada de Informações Perda de informações quando o processo é terminado Vários processos.
Transcrição da apresentação:

Organização de Arquivos Introdução AULA 4 Profa. Sandra de Amo GBC053 – BCC 2013-1 BCC-2013-1

Estudaremos nesta aula Part I : Como os dados são organizados dentro dos arquivos Arquivos de indice O que é um arquivo de índice ? Funcionamento geral Parte II: Organização: indice ordenado versus hash Tipos principais de arquivos de índices: agrupados, densos, primários, secundários, compostos, ... Indices agrupados BCC-2013-1

Dados, indices, índices, índices, ... Consulta: Me dê o livro Database Systems – Ramakrishnan/Gehrke Indice DADOS BCC-2013-1

Arquivos de Indice rid A B C D E F G A D E F rid a b1 c1 d e f g1 a d (12,1) a b1 c1 d e f g1 a d e f (12,1) a d e f (18,5) (18,5) a b2 c2 d e f g2 a d e f (22,4) (22,4) a b3 c3 d e f g4 chave Arquivo de Indice Endereços obtidos no diretório de arquivos e no diretório de slots das páginas Arquivo de Dados BCC-2013-1 3/25/2017

Dinâmica geral dos Arquivos de Indice Busca no arquivo de indice: Páginas deste arquivo são organizadas de modo a permitir a localização rápida das entradas com uma dada chave. Uma vez encontradas rapidamente estas entradas no arquivo de índice, já temos os endereços dos registros de dados associados (seu rid = (N,X)). O local exato no disco onde se encontra a página de número N é encontrado através do diretório de arquivos do disco: fornece o endereço da header page do arquivo. O local exato na página N onde se encontra o slot X do registro procurado é obtido através do diretório de slots da página N BCC-2013-1 3/25/2017 5 5

Como encontrar um registro num Arquivo A conhecendo o rid do registro? Vai no diretório de arquivos no disco e procura o registro correspondente ao arquivo A, para obter o ponteiro para o primeiro bloco do arquivo. Calcula o endereço do 12º bloco e posiciona a cabeça de leitura neste endereço. Transfere o 12º bloco para o buffer pool Processador de consultas consulta o diretório de slot da página 12 e procura o endereço do registro contido no slot 3, bem como o tamanho (L) do registro contido neste slot. Vai para este endereço de memória e lê L bytes. BCC-2013-1

Como encontrar um registro num Arquivo A caso não se conheça o rid do registro? Vai no diretório de arquivos no disco e procura o registro correspondente ao arquivo A, para obter o ponteiro para o primeiro bloco do arquivo. Transfere um a um cada bloco do arquivo para o buffer pool. Cada bloco transferido é escaneado sequencialmente pelo processador de consultas até encontrar o registro procurado. BCC-2013-1

Arquivos de Indice Otimiza a procura de registros em arquivos, pois o arquivo de indice contém o rid dos registros. Através do rid encontra-se facilmente os registros de dados completos nos arquivos. No arquivo de índice, cada registro é da forma (valores_chave,rid) Chave = conjunto de atributos Se chave contém chave candidata do arquivo, então chave determina unicamente o rid Caso contrário, uma mesma chave pode acessar diversos rids. Exemplo : se chave = {Salário} BCC-2013-1 3/25/2017

Como as informações são obtidas rapidamente no arquivo de indice ? Métodos de Acesso Técnicas de organização das páginas dos arquivos de índices B+Trees Tabelas Hash BCC-2013-1

Catálogo do Sistema Metadados Descrição dos dados e índices Informações sobre visões Catálogo = conjunto de relações (arquivos) contendo todas as informações sobre os arquivos sendo utilizados pelo sistema. BCC-2013-1 3/25/2017

Catálogo do Sistema Arquivos « Relações », « Atributos », « Restrições », ... Nome da relação, nome do arquivo , estrutura do arquivo Nomes e tipos dos atributos Nome do índice Restrições de Integridade (chave primária, estrangeira) Guardam inclusive registros correspondentes às relações « Relações », « Indices », « Atributos », « Visões », ... Arquivo « Indices » Nome e estrutura de cada índice Chave de cada índice Arquivo « Visões » Nome e código BCC-2013-1 3/25/2017

Exemplo Cat-Atributos Nome-Atributo Nome-Relação Tipo Posição string 1 2 3 4 IdE Estudantes E-mail Idade integer IdC Cursos NomeC 3/25/2017 BCC-2013-1

Resumo: Arquivo de Indice O que é ? estrutura auxiliar projetada para agilizar operações de busca, inserção e deleção Em que consiste ? Uma coleção de registros Uma chave de busca k Cada entrada contém informação suficiente para localizar registros de dados contendo a chave de busca k. BCC-2013-1

Vantagens Tamanho: normalmente é bem menor do que o arquivo de dados Organização optimizada: pode ser sequencial, ordenado ou hashed Método de Acesso rápido: pode ser estruturado usando uma b-tree ou hash (estático, dinâmico) BCC-2013-1

O que armazenar em um índice ? Registro de Dados = Registro do indice = Chave + Rid Chave do índice !! BCC-2013-1

Indice: como são os registros ? Alternativa 1 Entrada = registro inteiro de dados Neste caso, a única vantagem do índice é a forma como é organizado: ordenado, hash, com método de acesso ou não Alternativa 2 Entrada = (k,rid), k = chave Chave = conjunto de atributos Alternativa 3 Entrada = (k, lista de rids) Vantagem: ocupa menos espaço. Uma chave acessa diversos registros no arquivo de dados Desvantagem: registro de tamanho variável BCC-2013-1

Como organizar as entradas do índice ? Entrada = registro Entradas podem ser ordenadas Entradas podem ser organizadas por Hash BCC-2013-1

Organização por Hash Bucket 1 Bucket 2 Bucket 3 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 BCC-2013-1

Exemplo de Indice 2000 Paulo, 44, 2000 2000 Pedro, 35, 2000 2000 Carlos, 44, 2000 2500 José, 40, 2500 3000 João, 35, 3000 3500 Ilmério, 40, 3500 3500 Rodrigo, 40, 3500 4000 Maria, 30, 4000 4000 Sara, 35, 4000 5000 Sabrina, 31, 5000 Entradas : organizadas de forma ordenada Registros de dados BCC-2013-1

Exemplo de Indice organizado por Hash Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 João, 35, 3000 5000 Ilmério, 40, 3500 3000 Rodrigo, 40, 3500 3500 Maria, 30, 4000 3500 H(sal) = 00 Sara, 35, 4000 4000 Sabrina, 31, 5000 4000 Registros de dados Entradas BCC-2013-1

Tipos de indices Relação entre a maneira como são organizados os dados no índice e no arquivo de dados Agrupado – não agrupado Densos – esparsos Primários – secundários Simples - compostos BCC-2013-1

Indices Agrupados Agrupados : a ordem dos registros é compatível com a ordem das entradas no arquivo de índice. Se entrada é do tipo (chave, rid) e o índice é agrupado então os registros de dados são ordenados por chave. Somente um índice agrupado do tipo (chave,rid) BCC-2013-1

Exemplo de Indice Agrupado 2000 Paulo, 44, 2000 2000 Pedro, 35, 2000 2000 Carlos, 44, 2000 2500 José, 40, 2500 3000 João, 35, 3000 3500 Ilmério, 40, 3500 3500 Rodrigo, 40, 3500 4000 Maria, 30, 4000 4000 Sara, 35, 4000 5000 Sabrina, 31, 5000 Entradas Registros de dados BCC-2013-1

Exemplo de Indice não agrupado Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 João, 35, 3000 5000 Ilmério, 40, 3500 3000 Rodrigo, 40, 3500 3500 Maria, 30, 4000 3500 H(sal) = 00 Sara, 35, 4000 4000 Sabrina, 31, 5000 4000 Registros de dados Entradas BCC-2013-1

Exemplo de Indice agrupado Paulo, 44, 2000 2000 H(sal) = 01 2000 Pedro, 35, 2000 Carlos, 44, 2000 2000 José, 40, 2500 2500 H H(sal) = 11 5000 Sabrina, 31, 5000 3000 Rodrigo, 40, 3500 Ilmério, 40, 3500 3500 3500 João, 35, 3000 H(sal) = 00 Sara, 35, 4000 4000 Maria, 30, 4000 4000 Registros de dados Entradas BCC-2013-1

Vantagens e desvantagens Desvantagem : grande overhead para mover registros a fim de preservar a ordem depois de inserções e deleções. Vantagem : Seleções do tipo = ou <> são altamente otimizadas caso os registros sejam ordenados de acordo com a chave do indice. Rids das entradas apontam para registros contíguos, menos páginas são manipuladas. BCC-2013-1