Organização de Arquivos
|
|
|
- Daniel Eduardo Cipriano Abreu
- 9 Há anos
- Visualizações:
Transcrição
1 Construção de Sistemas de Gerência de Bancos de Dados DI PUC-Rio Prof: Sérgio Lifschitz Organização de Arquivos Organização de Arquivos Tipos básicos de arquivos: heap files (entry sequenced files) sorted files hash files árvores B+ 1
2 Tipos de Organização de Arquivos Cada tipo possui vantagens e desvantagens SGBDs utilizam arquivos blocados Oracle: block, extent, data file SQL Server: page (8kb), extent (64 kb), data file Os SGBDs normalmente suportam: um ou mais tipos de arquivos (e variações) arquivos devem ser pensados como tabelas Acesso aos arquivos: operações básicas para todos os tipos de arquivo Operações de I/O são feitas em blocos: síncronas (um bloco), assíncronas (vários) Heap Files Organização Seqüencial (heap) mais simples existente não há ordenação dos registros Inclusão de registro: simples e eficiente Acesso e pesquisa somente pesquisa seqüencial Exclusão de registro pode ser utilizada exclusão lógica Eficiente, mas necessita reorganizações periódicas. 2
3 Arquivos Ordenados (1/3) Organização Seqüencial Ordenada (Sorted) pesquisa somente é interessante para campos chave. No caso: ordenado por número e nome Número Nome Idade Salário 1000 Ademar Afonso Angela Antonio Carlos Cesar Sonia Tatiana } } } bloco 1 bloco 2 bloco n Arquivos Ordenados (2/3) Inclusão de registro proibitiva se provocar deslocamento de muitos registros Estratégia: diretório de linhas no bloco Soluções: 1. reservar espaço livre em cada bloco pode não ser suficiente! 2. área de overflow (heap) associada a cada bloco acesso sequencial manutenção cara necessária a reorganização periódica 3
4 Arquivos Ordenados (3/3) Acesso e Pesquisa se for pelo campo de ordenação: pesquisa binária senão acesso seqüencial obrigatório pesquisa por range de chaves: muito eficiente muito bom se houver localidade de referência full scan campo de ordenação: custo de I/O min Exclusão eficiente melhor se exclusão lógica (exceto área de overflow) reorganização periódica Objetivo: acesso direto Arquivos Hash (1/4) Posiciona registro de acordo com valor da chave a uma função de cálculo de endereço (hashing) função gera endereço provável Em geral, um único I/O por bloco para obter registro desejado endereço: bloco bloco + registro no bloco Nome = Cristiano endereço = f (nome) Número Nome Idade Salário Antônio Cristiano
5 Arquivos Hash (1/4) Geralmente o conjunto de chaves possíveis >> endereços disponíveis função de hash sinônimos e colisões espaço extra: + 25% para reduzir colisões conjunto de chaves possíveis conjunto de endereços disponíveis Arquivos Hash (2/4) Funções de hashing devem ser fáceis de calcular desejável a distribuição uniforme dos registros nos blocos devem minimizar colisões devem evitar o clustering métodos de divisão e multiplicação Método de divisão: h(k) = k mod m 5
6 Arquivos Hash (3/4) Chaves distintas podem gerar mesmo endereço: praticamente impossível evitar colisões necessário a resolução das colisões Número Nome Idade Salário endereço Número x {900, } f(x) = ( x - 900) / 61 endereços em [ 1, 37 ] Arquivos Hash (3/4) Resolução de colisões: linear ou quadratic probing Exclusões dificultadas pelas colisões não basta remover registro movimentação de sinônimos Update da chave deleção + inserção 6
7 Tabelas Hash Resolução de Colisões 1 2 : 1 8 : 2 3 Número Nome... Elo 2400 Iara Edmundo Carlos Sandra Tabela Headers F(x) : (x mod 11) + 1 Edmundo? F(1850) 3 Requisitos: Árvores pesquisa na estrutura do arquivo deve ser eficiente arquivo organizado em páginas menor número possível de operações de I/O para localizar um determinado registro Árvores: binária B B + 7
8 Árvore binária árvore completa: níveis n = 4 2 n 1 nós 2 n-1 folhas Árvore binária de Busca BST: Binary search tree:
9 Paged binary tree d c s a m u b i p t w g k n r v y e h j l o q x z f Árvores B árvores B: Bayer e McCreight (1972) viabilizaram o BD relacional características: construção: bottom up paged tree splits chaves ordenadas em cada página k chaves por página k + 1 ponteiros por página 9
10 Árvores B Outras características: N chaves, m ponteiros por página (ordem) número máximo de níveis d (pior caso): d 1 + log 2 (( ) ) 1 / 2 m/ N + N = N = m = 512 m = 512 d níveis d níveis * Árvores B + Adição de uma árvore B ao sequence set
11 Árvores B + Sequence Set: conjunto ordenado de blocos chaves ordenadas em cada bloco lista simples ou duplamente encadeada Índices 11
12 Estruturas Auxiliares Índice: chaves e ponteiros para as linhas da tabela chave pág n Índices Para localizar uma linha na tabela: com a chave percorre a estrutura do índice localiza no índice a página de dados relacionada recupera a página de dados com um I/O O ponteiro do índice é conhecido como: rid (row id), tid (tuple id) ou row locator rid / tid: file number + page number + row number normalmente entre 4 e 10 bytes 12
13 ÍNDICE PRIMÁRIO Arquivo ordenado por chave primária Número Nome Idade Salário Índice seletivo sobre Ademar campo chave primária Afonso referenciando blocos de registros Número Ender INDICE CLUSTER Arquivo Arquivo ordenado por campo não chave Índice não denso referenciando segmentos com mesmo valor para o campo de ordenação Pode-se se isolar blocos para cada valor no índice Idade Índice End Núm. Nome Idade Salário
14 INDICE SECUNDÁRIO Arquivo não ordenado pelo campo referenciado pelo índice Podemos ter vários índices para um mesmo arquivo Índice ordena logicamente o arquivo Salário End Índice Arquivo Núm. Nome Idade Salário Índices Requisitos: pesquisa na estrutura do índice deve ser eficiente índice organizado em páginas menor número possível de operações de I/O para localizar uma determinada entrada Árvores B + 14
15 Índices Normalmente são variações das árvores B + index set: maior chave / menor chave de cada bloco leaf pages: apontam para os dados du ber n cage 55 eva 64 folk Número de níveis: Índices quase sempre 5 máximo de 5 operações de I/O para localizar uma entrada em uma leaf page níveis mais altos do index set tendem a permanecer em memória em média 1 ou 2 operações de I/O em um index probe 15
16 Índices Criação do índice chaves são ordenadas antes de iniciar a construção Área de SORT em memória chave únicas: Índices chave rid chave não única: chave... lista de rids SQL Server: non-clustered table: row locator = file# + page# + row# clustered table: row locator = cluster index key 16
17 Identificador Rid Tamanho do rid depende do gerenciador: normalmente entre 4 e 10 bytes. file# + block# + row# SQL Server: 8 bytes DB2 OS/390: tabelas < 64GB: 4 bytes tabelas > 64GB: 5 bytes Clusterização Índices podem ser utilizados para: garantir unicidade das chaves na tabela ordem física de armazenamento das linhas na tabela: cluster indexes no DB2 e SQL Server Index Organized tables no Oracle índice cluster: linhas armazenadas na seqüência da chave índice não cluster: chave do índice não influencia no posicionamento das linhas na tabela. 17
18 Utilização dos Índices Índices não ajudam sempre! Vários fatores influenciam na utilização de índices nos planos de acesso: Fator de filtro dos predicados, tipos de predicados, estatísticas, histogramas,... Utilização dos Índices Índices em múltiplas colunas podem tornar desnecessário o acesso a tabela - Ordem dos campos em um índice é fundamental (mais seletivo à esquerda) Índices em FKs podem ajudar na recomposição dos objetos reais 18
Classificação e Pesquisa de Dados. Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos
Classificação e Pesquisa de Dados Aula 23 Organização de Arquivos: Arquivos Indexados, Diretos e Arquivos Invertidos UFRGS INF1124 Arquivo indexado - AI Indicação de uso Baixa freqüência de acessos seqüenciais
indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016
indexação e hashing Construção de Índices e Funções Hash Diego Gomes Tomé - MSc. Informática Orientador: Prof. Dr. Eduardo Almeida October 13, 2016 Universidade Federal do Paraná indexação e hashing Índices
Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório
UFU/FACOM/BCC GBC053 - Gerenciamento de Banco de Dados - 2018/2 Trabalho de Implementação Prof. Ilmério Reis da Silva O trabalho semestral da disciplina em epígrafe tem como objetivo a implementação de
Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipos de Índices Cristina Dutra de Aguiar Ciferri Tipos de Índice Ordenados em um único nível primário agrupamento (cluster) secundário Estruturas de dados de árvores índices multiníveis árvores-b, árvores-b+
BANCO DE DADOS Índices em BD Árvores B+
BANCO DE DADOS Índices em BD Árvores B+ Bacharelado em Ciência da Computação IFCE - Campus Aracati - Semestre 2018.2 Prof. Érica Gallindo - [email protected] Arquivos de banco de dados Um arquivo
Bancos de Dados IV. Tuning de Bancos de Dados. Rogério Costa
Bancos de Dados IV Tuning de Bancos de Dados Rogério Costa [email protected] 1 Sintonia (Tuning) de Bancos de Dados O que é? Realizar ajustes de forma a obter um melhor tempo de resposta para determinada
Banco de Dados. Módulo 15 - Estruturas de Indexação
Banco de Dados Módulo 15 - Estruturas de Indexação Tópicos Introdução Árvores-B + Hashing Hashing Expansível Introdução Índice Primário (ou índice de clustering): índice cuja chave especifica a ordem sequencial
ACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro
ACH04 Aula Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro 1 Tipos de organização de arquivos Sequencial Lista ligada (com ou sem tabela de alocação) Indexada Um
Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados
Estruturas de Indexação de Dados Cristina Dutra de Aguiar Ciferri Índice Estrutura de acesso auxiliar usada para melhorar o desempenho na recuperação de registros Pesquisa restringida a um subconjunto
Sistemas de Gerência de Bancos de Dados. Módulo 1 - Armazenamento
Sistemas de Gerência de Bancos de Dados Módulo 1 - Armazenamento Tópicos Introdução Gerência do Buffer Pool Armazenamento em SGBDs Convencionais Armazenamento em SGBDs Orientados a Objeto Introdução Etapas
Índices. SCE-203 Algoritmos e Estruturas de Dados II
Índices SCE-203 Algoritmos e Estruturas de Dados II Índice Em geral, um índice fornece mecanismos para localizar informações Índice de um livro ou catálogo de uma biblioteca Facilitam muito o trabalho
Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Organização de Arquivos Profa. Dra. Cristina Dutra de Aguiar Ciferri Lista
Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas
Processamento e Otimização de Consultas Banco de Dados Motivação Consulta pode ter sua resposta computada por uma variedade de métodos (geralmente) Usuário (programador) sugere uma estratégia para achar
INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices)
INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Organização
INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash
INF70 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd Roteiro Fundamentos Hash Estático Hash Extensível Hash Linear Considerações
GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash
GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página: Roteiro Fundamentos Hash
ACH2025. Laboratório de Bases de Dados Aula 8. Indexação e Hashing Parte 1. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO
ACH2025 Laboratório de Bases de Dados Aula 8 Indexação e Hashing Parte 1 Professora: Fátima L. S. Nunes Conceitos básicos Boa parte das consultas a BD referem-se a apenas uma parte pequena dos registros.
Hashing Externo. SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri
Hashing Externo SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo M.C.F. de Oliveira Cristina Ciferri 1 Hashing 0 1 chave de busca K = LOWELL 2 h(k) endereço 4 (RRN 4) 3 4 5... LOWELL......
Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas
usuário processador de E/S gerador de respostas Uso de Índices na Otimização e Processamento de Consultas Profa. Dra. Cristina Dutra de Aguiar Ciferri analisador controle de autorização verificador de
Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures
Hashing externo (II) Graça Nunes Fonte: Folk & Zoelick, File Structures 1 Hashing Extensível Espalhamento Extensível (Extendible Hashing): permite um auto-ajuste do espaço de endereçamento do espalhamento
Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO
Introdução a Ciência da Computação Estrutura e Organização das Informações PROFESSORA CINTIA CAETANO Introdução A qualidade do armazenamento dos dados, permitem uma melhor extração de informações, e consequentemente,
Árvores B. Prof. Leandro C. Fernandes. Estruturas de Dados. Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira
Árvores B Prof. Leandro C. Fernandes Estruturas de Dados Adaptado de: Leandro C. Cintra e M.C.F. de Oliveira A invenção da árvore-b Bayer and McGreight, 1972, publicaram o artigo: "Organization and Maintenance
Sumário. Índices Ordenados: Nível Único. Índices Primários. Bancos de Dados Avançados Índices. Índices: Ordenados em nível único Multiníveis
Sumário Bancos de Dados Avançados Índices DCC030 - TCC: Bancos de Dados Avançados (Ciência Computação) DCC049 - TSI: Bancos de Dados Avançados (Sistemas Informação) DCC842 - Bancos de Dados (Pós-Graduação)
Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira
Árvores-B (Parte I) SCC-503 Algoritmos e Estruturas de Dados II Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil
Edital de Seleção 023/2018 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 023/2018 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
ANÁLISE E PROJETO DE BANCO DE DADOS
ANÁLISE E PROJETO DE BANCO DE DADOS ESTRUTURAS E INDEXAÇÃO FELIPE G. TORRES ARQUIVOS Um arquivo é uma sequência de registros. Em muitos casos do mesmo tipo. Se cada registro no arquivo tem exatamente o
Estrutura de indexação de arquivos
Estrutura de indexação de arquivos Neste capítulo assume-se que um arquivo já existe e possui alguma organização primária desordenada ordenada ou hash Utiliza-se índices, que são estruturas de acesso adicionais
Dicionários. Prof. César Melo
Dicionários Prof. César Melo Definição Estruturas que permitem a recuperação da informação a partir do seu valor; Contrasta com filas e pilhas que é posicional; Três operações: Inserção(k, d), chave k;
Edital de Seleção 024/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 024/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: «Nome» INSCRIÇÃO: «Inscrição» Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome
Administração de Banco de Dados
Administração de Banco de Dados Aula 6 Prof. Marcos Alexandruk Aula 6 Estruturas lógicas do Oracle: Tabelas tabelas relacionais tabelas temporárias tabelas organizadas por índices tabelas de objetos tabelas
Matrizes esparsas: definição
Matrizes esparsas: definição o objetivo é mostrar os métodos de armazenamento e manipulação de matrizes esparsas esparsidade de uma matriz é a relação entre o número de elementos nulos de uma matriz e
Tabelas de dispersão/hash
Tabelas de dispersão/hash 1 Tabelas de dispersão/hash 1. Considere uma tabela de hash de tamanho m = 1000 e a função de hash h(k)= [m.(k.a % 1)], com A=( 5-1)/2. Calcule os valores de hash das chaves 61,
TABELAS HASH. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos
TABELAS HASH Vanessa Braganholo Estruturas de Dados e Seus Algoritmos MOTIVAÇÃO Alternativas para acelerar buscas em grandes volumes de dados: Usar um índice (ex. Árvore B, Árvore B+) Usar cálculo de endereço
TAD dicionário. Métodos do TAD dicionário:
TAD dicionário O TAD dicionário modela uma coleção buscável de itens chave-elemento As principais operações em dicionários são busca, inserção e remoção de itens Vários itens com a mesma chave são permitidos
BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar
- Aula 2 - ÍNDICE 1. INTRODUÇÃO Quando criamos a estrutura de um banco de dados temos que usar artifícios que melhorem a performance na recuperação dos dados que lá serão armazenados. Dentre várias técnicas
Árvores B. Árvore B (ou melhor B+)
Motivação: pesquisa em disco Árvores B Tempo de acesso a disco determinante nas operações Com disco de 10 ms de tempo de acesso: 100 acessos por segundo em máquina de 25 MIPS, 1 acesso custa tanto como
Consistem num conjunto de apontadores para instâncias especificas de cada relação.
Mecanismo usado para mais fácil e rapidamente aceder à informação existente numa base de dados. Bases de Dados de elevadas dimensões. Consistem num conjunto de apontadores para instâncias especificas de
INE5408 Estruturas de Dados
INE5408 Estruturas de Dados Gerência de Arquivos -Técnicas utilizando Listas -Técnicas utilizando Árvores Técnicas utilizando Listas Técnicas de indexação através de listas provêem uma solução excelente
SCC0601 Introdução à Ciência da Computação II. Prof. Lucas Antiqueira
SCC0601 Introdução à Ciência da Computação II Prof. Lucas Antiqueira Acesso sequencial = O(n) Busca binária = O(log 2 n) Árvores binárias de busca = O(log 2 n) (melhor caso) Acesso em tempo constante Por
Introdução Métodos de Busca Parte 2 - Hashing
Introdução Métodos de Busca Parte - Hashing ICC Acesso seqüencial = O(n) Quanto mais as estruturas (tabelas, arquivos, etc.) crescem, mais acessos há Quando armazenamento é em disco, reduzir acessos é
Complexidade de Algoritmos
Complexidade de Algoritmos Prof. Diego Buchinger [email protected] [email protected] Prof. Cristiano Damiani Vasconcellos [email protected] Análise de complexidade de Estruturas
GBC053 Gerenciamento de Banco de Dados. Plano de Curso e Introdução. Ilmério Reis da Silva UFU/FACOM/BCC
GBC053 Gerenciamento de Banco de Dados Plano de Curso e Introdução Ilmério Reis da Silva [email protected] www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento
A inserção da chave 6 da árvore acima resulta na árvore abaixo.
149 Árvores B+ As operações nas árvores B+ não são muito diferentes das operações das árvores B. Inserir uma chave em uma folha que ainda tenha algum espaço exige que se coloque as chaves desta folha em
Hashing. Cormen Capítulo 11
Hashing Cormen Capítulo 11 Motivação Um compilador utiliza uma tabela de símbolos para relacionar símbolos aos dados associados. Símbolos: nomes de variáveis, funções, etc.. Dados associados: localização
Edital de Seleção 055/2017 PROPESP/UFAM. Prova de Conhecimento. Caderno de Questões
Edital de Seleção 055/2017 PROPESP/UFAM Prova de Conhecimento Caderno de Questões CANDIDATO: INSCRIÇÃO: Assinatura conforme identidade INSTRUÇÕES PARA O CANDIDATO: Verifique o seu nome e o número da sua
TABELA HASH. Prof. André Backes. Princípio de funcionamento dos métodos de busca
TABELA HASH Prof. André Backes Problema 2 Princípio de funcionamento dos métodos de busca Procurar a informação desejada com base na comparação de suas chaves, isto é com base em algum valor que a compõe
B-Árvores. Siang Wun Song - Universidade de São Paulo - IME/USP. MAC Estruturas de Dados
MAC 5710 - Estruturas de Dados - 2008 Referência bibliográfica Os slides sobre este assunto são parcialmente baseados nos artigos Bayer, R. and E. McCreight. Organization and maintenance of large ordered
Otimização e Execução de Consultas Caso Centralizado Parse Query
Bancos de Dados III Processamento de Consultas em Bancos de Dados Distribuídos Rogério Costa [email protected] 1 Otimização e Execução de Consultas Caso Centralizado Parse Query Check de Semântica
Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri
Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B* Proposta por Knuth em 1973 variação de árvore-b Característica cada nó contém, no mínimo, 2/3 do número máximo de chaves Posterga o split
Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas
DI-FCT/UNL 28 de abril de 2018 Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas N. º : Nome: Grupo 1 (7 valores) 1 a) Para cada uma das seguintes
Sistemas de Arquivos. (Aula 23)
Sistemas de Arquivos (Aula 23) Funções de um SO Gerência de processos Gerência de memória Gerência de Arquivos Gerência de I/O Sistema de Proteção 2 Sistemas Operacionais 2008/1 Necessidade de Armazenamento
