Cap. 5 Indexação Baseada em Hashing

Tamanho: px
Começar a partir da página:

Download "Cap. 5 Indexação Baseada em Hashing"

Transcrição

1 Cap. 5 Indexação Baseada em Hashing Not cahos-like, together crushed and bruised, But, as the world harmoniously confused: Where order in variety we see. -- Alexander Pope Abel J.P. Gomes Bibliography: 1. R. Ramakrishnan and J. Gehrke. Database Management Systems. Addison-Wesley, 003 (cap.11). 1

2 1. Objectivos Intuitivamente, o que é que está por detrás dos índices baseados em hashing? Porque é que são particularmente adequados para pesquisas por igualdade, mas inúteis para selecções por gama? O que é o hashing extensível? Como é que são feitas as operações de pesquisa, inserção e eliminação? O que é o hashing linear? Como é que são feitas as operações de pesquisa, inserção e eliminação? Quais são as semelhanças e diferenças entre hashing extensível e hashing linear?

3 . Introdução A ideia base é usar uma função de hashing. Esta função mapeia um valor da chave de pesquisa (atributo duma tabela) num registo ou balde (bucket) de registos. Como para qualquer índice, há 3 alternativas para os verbetes de dados k*: registo de dados real (chave com valor k) <k, rid do registo de dados respectivo> <k, lista de rids dos registos de dados respectivo > Índices baseados em hashing são melhores para pesquisas por igualdade. Não suportam pesquisas por gama. Existem técnicas estáticas e dinâmicas de hashing; compromissos similares aos de ISAM vs. árvores B+. 3

4 3. Hashing Estático Um balde (bucket) é uma unidade de armazenamento que contém um ou mais registos (um balde é tipicamente um bloco do disco). Numa organização de ficheiro em hashing, obtemos o balde dum registo a partir do valor da sua chave de pesquisa. Mais concretamente, o balde é obtido através do cálculo da função de hash para aquela chave de pesquisa. A função de hash h é uma função do conjunto de todos os valores da chave K para o conjunto dos endereços de todos os baldes B. A função de hash é usada para localizar registos para as operações de acesso, inserção, bem como eliminação. Registos com diferentes valores de chave podem ou não ser mapeados para o mesmo balde; daí que o balde inteiro tem de ser pesquisado sequencialmente para localizar um registo específico. 4

5 3. Hashing Estático (cont.1) #de páginas primárias é fixo; as páginas são alocadas sequencialmente e nunca são desalocadas; páginas de transbordo podem ser necessárias. h(key) mod B = balde ao qual o verbete de dados com chave key pertence. (B = #de baldes) key h N-1 primary bucket pages... overflow pages 5

6 3. Hashing Estático(cont.) Baldes contêm verbetes de dados. A função de hash actua sobre a chave de pesquisa respeitante a um dos atributos do registo r. Fornece valores na gama 0,...,B-1. l l h(key)=(a*key+b) funciona normalmente bem. a e b são constantes; muito se sabe sobre como afinar h. Longas cadeias de transbordo podem desenvolver-se e degradar o desempenho. Hashing extensível e hashing linear: técnicas dinâmicas para consertar este problema. 6

7 4. Exemplo: inserções e transbordos Assuma-se que temos registos/balde e 4 baldes numerados de 0 a 3. A inserção do verbete de dados e conduz à criação de uma página de transbordo para baldes, como se ilustra na figura em baixo: INSERT: h(a) = 1 h(b) = h(c) = 1 h(d) = 0 h(e) = d a c b e 7

8 4. Exemplo: eliminações A eliminação de um verbete de dados c após e e f conduz à eliminação do balde de transbordo que contém o verbete de dados d ; d é então transladado para o balde primário 1. DELETE: e f c 0 1 a b c d d e 3 f g maybe move g up 8

9 5. Regra de Ouro Tente manter a utilização do espaço entre 50% e 80%! Utilização = # chaves usadas total # chaves utilizáveis Se <50%, há espaço desperdiçado Se > 80%, transbordos tornam-se significativos; depende de quão boa é a função de hashing & do # chaves/balde 9

10 6 Como é que se lida com o crescimento? Transbordos e reorganizações Hashing dinâmico: l Extensível l Linear 10

11 7 Hashing Extensível Situação: balde (página primária) fica cheio. Porque não re-organizar o ficheiro duplicando o # de baldes? Ler e escrever todas as páginas é dispendioso! Ideia: use directoria de ponteiros para baldes, duplique # de baldes através da duplicação da directoria, particionando justamente o balde que transbordou! Uma directoria é muito mais pequena que um ficheiro, de modo que duplicá-la é muito menos dispendioso. Só uma página de verbetes de dados é particionada. Não há lugar a páginas de transbordo! O truque reside em como a função de hashing é ajustada! 11

12 7.1 Hashing extensível: exemplo Directoria é um array de tamanho 4. Para encontrar o balde de k, tomase a última global depth do # de bits de h(k). LOCAL DEPTH GLOBAL DEPTH * 1* 3* 16* 1* 5* 1* 13* Bucket A Bucket B Por exemplo: se h(k)=5 10 =101, o verbete está no balde apontado por DIRECTORY 10* 15* 7* 19* Bucket C Bucket D DATA PAGES 1

13 7. Hashing extensível: Inserting Inserção: se balde cheio, particione-o (crie nova página e re-distribua). Se necessário, duplique a directoria. (Como veremos, particionar um balde nem sempre requer duplicação; o que podemos dizer se compararmos a global depth com a local depth do balde dividido.) Por exemplo: insira h(k)=0 (provoca duplicação) LOCAL DEPTH GLOBAL DEPTH 3*16* Bucket A LOCAL DEPTH GLOBAL DEPTH 3 3* 16* Bucket A DIRECTORY 1* 5* 1*13* 10* 15* 7* 19* 4* 1* 0* Bucket B Bucket C Bucket D Bucket A (`split image' of Bucket A) DIRECTORY 1* 5* 1*13* 10* 15* 7* 3 19* 4* 1* 0* Bucket B Bucket C Bucket D Bucket A (`split 13 image' of Bucket A)

14 FIM DE CAPÍTULO Não foi ensinado o hashing linear! Sumário Índices baseados em hashing: são melhores para pesquisas por igualdade; não suportam pesquisas por gama. Hashing estático pode conduzir a longas cadeias de transbordo. Hashing extensível evita páginas de transbordo, o que se consegue através da partição dum balde cheio quando se tenta adicionar-lhe um novo verbete de dados. (Duplicados podem requerer páginas de transbordo.) l Directoria para registar baldes é duplicada periodicamente. l Pode tornar-se grande com dados enviezados ; I/O adicionais se estes dados não cabem na memória principal. 14

ACH2024. Aula 22 Hashing Externo - Hashing estático e dinâmico (extensível) Prof Helton Hideraldo Bíscaro

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

Leia mais

INF70 Gerenciamento de Banco de Dados 2 Índices baseados em Hash

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

Leia mais

GBC053 Gerenciamento de Banco de Dados Índices baseados em Hash

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

Leia mais

Banco de Dados. Módulo 15 - Estruturas de Indexação

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

Leia mais

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 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

Leia mais

Cap. 4 Indexação Estruturada em Árvore

Cap. 4 Indexação Estruturada em Árvore Cap. 4 Indexação Estruturada em Árvore If I had eight hours to chop down a tree, I d spent sharpening my ax. -- Abraham Lincoln Abel J.P. Gomes Bibliography: 1. R. Ramakrishnan and J. Gehrke. Database

Leia mais

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Hashing para arquivos extensíveis Todos os métodos anteriores previam tamanho fixo para alocação das chaves. Existem várias técnicas propostas

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

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

Leia mais

Hashing externo (II) Graça Nunes. Fonte: Folk & Zoelick, File Structures

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

Leia mais

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 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......

Leia mais

Organização de Arquivos

Organização de Arquivos 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

Leia mais

ANÁLISE E PROJETO DE BANCO DE DADOS

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

Leia mais

UNIVERSIDADE DE SÃO PAULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 Profa.

UNIVERSIDADE DE SÃO PAULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 Profa. UNIVERSIDADE DE SÃO AULO - ICMC Departamento de Ciências da Computação SCC-203 Algoritmos e Estruturas de Dados 2-2 Sem /2012 rofa.: Maria Cristina 3 a ROVA (27 de junho) Aluno: N o US: Atenção: favor

Leia mais

Sistemas de Bases de Dados 1.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

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

Leia mais

Matemática Discreta 12

Matemática Discreta 12 Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Matemática Discreta 12 Prof. Jorge Cavalcanti [email protected] - www.univasf.edu.br/~jorge.cavalcanti 1 Introdução

Leia mais

Cap. 3 Organização de Ficheiros e Indexação

Cap. 3 Organização de Ficheiros e Indexação Cap. 3 Organização de Ficheiros e Indexação If you don t find it in the index, look very carefully through the entire catalogue. -- Sears, Roebuck, and Co., Consumer s Guide, 1897 Abel J.P. Gomes Bibliografia:

Leia mais

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Banco de Dados I 2007. Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli Banco de Dados I 2007 Módulo V: Indexação em Banco de Dados (Aulas 1, 2 e 3) Clodis Boscarioli Agenda: Estruturas de Índices; Conceitos; Tipos de Índices: Primários; Secundários; Clustering; Multiníveis;

Leia mais

Tipos de Índices. Profa. Dra. Cristina Dutra de Aguiar Ciferri

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+

Leia mais

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo?

1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que é a chave de um índice para o arquivo? UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2018/2-2 a Lista de Exercícios Prof. Ilmério Reis da Silva 1. Em relação à organização de arquivos e índices, responda: (a) Dado um arquivo de dados, o que

Leia mais

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 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.

Leia mais

9 Sistemas de ficheiros

9 Sistemas de ficheiros 9 Sistemas de ficheiros Ficheiros Directórios Implementações de sistemas de ficheiros Exemplos de sistemas de ficheiros 1 Informação a longo-prazo 1. Deve guardar grandes quantidades de dados 2. A informação

Leia mais

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Hashing. Estrutura de Dados II Jairo Francisco de Souza Árvores B Hashing Estrutura de Dados II Jairo Francisco de Souza Resolução de colisões Endereçamento aberto Re-hashing Encadeamento Separado Coalescido Coalescido com porão Endereçamento em balde Endereçamento

Leia mais

Tabelas de dispersão/hash

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,

Leia mais

Estrutura de indexação de arquivos

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

Leia mais

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

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

Leia mais

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 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

Leia mais

Profa. Dra. Cristina Dutra de Aguiar Ciferri. Estruturas de Indexação de Dados

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

Leia mais

ACH2025. Laboratório de Bases de Dados Aula 9. Indexação e Hashing Parte 2. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

ACH2025. Laboratório de Bases de Dados Aula 9. Indexação e Hashing Parte 2. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO ACH2025 Laboratório de Bases de Dados Aula 9 Indexação e Hashing Parte 2 Professora: Fátima L. S. Nunes Índices: Até agora: primários denso esparso índices sequenciais (ordenados) secundários denso Índices:

Leia mais

Análise e otimização de queries no MySQL. Jeronimo Fagundes da Silva

Análise e otimização de queries no MySQL. Jeronimo Fagundes da Silva Análise e otimização de queries no MySQL Jeronimo Fagundes da Silva Jeronimo Fagundes da Silva Líder de Desenvolvimento de Software para Web na KingHost Bacharel em Ciência da Computação pela UFRGS Trabalha

Leia mais

Hashing: conceitos. Hashing

Hashing: conceitos. Hashing Hashing: conceitos hashing é uma técnica conhecida como espalhamento, mapeamento ou randomização que tenta distribuir dados em posições aleatórias de uma tabela (array) associa cada objeto (de um determinado

Leia mais

Índices. SCE-203 Algoritmos e Estruturas de Dados II

Í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

Leia mais

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. Í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)

Leia mais

Sistemas de Arquivos. (Aula 23)

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

Leia mais

Matrizes esparsas: definição

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

Leia mais

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  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

Leia mais

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza

Árvores B. Árvores B. Estrutura de Dados II Jairo Francisco de Souza Árvores B Árvores B Estrutura de Dados II Jairo Francisco de Souza Motivação Quando tabelas são muito grandes Armazenamento do conjunto de chaves não pode ser efetuado na memória principal Necessário uso

Leia mais

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos

ÁRVORE B. Vanessa Braganholo Estruturas de Dados e Seus Algoritmos ÁRVORE B Vanessa Braganholo Estruturas de Dados e Seus Algoritmos INTRODUÇÃO 2 ARQUIVOS DE ACESSO DIRETO Basicamente, duas formas de acesso a um registro: Acesso via cálculo do endereço do registro (hashing)

Leia mais

Algoritmos de pesquisa. Tabelas de dispersão/hash

Algoritmos de pesquisa. Tabelas de dispersão/hash Algoritmos de pesquisa Tabelas de dispersão/hash Introdução Motivação: Considerar o problema de pesquisar um determinado valor num vetor. Se o vetor não está ordenado, a pesquisa requer O(n) de complexidade.

Leia mais

Introdução Métodos de Busca Parte 2 - Hashing

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 é

Leia mais

Acesso Sequencial Indexado

Acesso Sequencial Indexado Acesso Sequencial Indexado Utiliza o princípio da pesquisa seqüencial cada registro é lido seqüencialmente até encontrar uma chave maior ou igual a chave de pesquisa. Providências necessárias para aumentar

Leia mais

Sistemas de Ficheiros

Sistemas de Ficheiros Paulo Sérgio Almeida Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho 2005/2006 Ficheiro Ficheiros Unidade lógica de armazenamento Espaço de endereçamento lógico contíguo

Leia mais

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes.

Sistemas Operacionais. Sistema de Arquivos. Edeyson Andrade Gomes. Sistemas Operacionais Sistema de Arquivos Edeyson Andrade Gomes www.edeyson.com.br Sistema de Arquivos Mecanismo que provê armazenamento e acesso a dados e programas do Sistema Operacional e do usuário;

Leia mais

Como criar utilizadores

Como criar utilizadores Como criar utilizadores Existem três tipos de contas de Utilizadores, que contém toda a informação referente a um utilizador do domínio, nomeadamente: nome; password; grupos a que pertence no domínio,

Leia mais

Tabelas Hash. Aleardo Manacero Jr.

Tabelas Hash. Aleardo Manacero Jr. Tabelas Hash Aleardo Manacero Jr. Introdução O uso de listas ou árvores para organizar informações é interessante e produz resultados bastante bons Entretanto, em nenhuma dessa estruturas se obtém o acesso

Leia mais

Chapter 11: Indexing and Hashing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017

Chapter 11: Indexing and Hashing. José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 Chapter 11: Indexing and Hashing José Alferes Sistemas de Bases de Dados - ISCTEM janeiro de 2017 36 Chapter 11: Indexing and Hashing - Conceitos de base - Índices ordenados - B + -Tree Index B-Tree Index

Leia mais

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco.

MC3305 Algoritmos e Estruturas de Dados II. Aula 02 Hashing. Prof. Jesús P. Mena-Chalco. MC3305 Algoritmos e Estruturas de Dados II Aula 02 Hashing Prof. Jesús P. Mena-Chalco [email protected] 2Q-2015 1 Sobre a busca de dados/chaves 2 Busca em tabelas (vetores/arrays) Para se resolver

Leia mais

Uso de Índices na Otimização e Processamento de Consultas. Otimização e Processamento de Consultas. Otimização e Processamento de Consultas

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

Leia mais

Árvores B. Árvore B (ou melhor B+)

Á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

Leia mais

ORGANIZAÇÃO DE ARQUIVOS INDEXADOS

ORGANIZAÇÃO DE ARQUIVOS INDEXADOS ORGANIZAÇÃO DE ARQUIVOS INDEXADOS Um índice consiste numa coleção de entradas, uma para cada registro de dados, contendo o valor de uma chave de atribuição e um ponteiro de referência que acessa imediatamente

Leia mais

Algoritmos e Estruturas de Dados I

Algoritmos e Estruturas de Dados I Algoritmos e Estruturas de Dados I Aula 09 Revisão + Simulado Prof. Jesús P. Mena-Chalco [email protected] 1Q-2019 1 Vetores 2 Vetores 3 Vetores vetor 4 Vetores... vetor... 5 Ponteiros 6 Processo

Leia mais

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que:

Tabelas Hash. informação, a partir do conhecimento de sua chave. Hashing é uma maneira de organizar dados que: Tabelas Hash Tabelas Hash O uso de listas ou árvores para organizar informações é interessante e produz bons resultados. Porem, em nenhuma dessas estruturas se obtém o acesso direto a alguma informação,

Leia mais

Hashing Endereçamento Direto Tabelas Hash

Hashing Endereçamento Direto Tabelas Hash Hashing Endereçamento Direto Tabelas Hash Professora: Fátima L. S. Nunes 1 1 1 Vimos até agora: Introdução Conceitos e técnicas de Orientação a Objetos Conceitos e aplicações de Complexidade Assintótica

Leia mais

Organização e Arquitetura de Computadores I

Organização e Arquitetura de Computadores I Organização e Arquitetura de Computadores I Slide 1 Memória Virtual os primeiros computadores (início dos anos 60) tinham memória principal muito reduzida O PDP-1 funcionava com uma memória de 4096 palavras

Leia mais

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join

Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join Bases de Dados Algoritmos para junção Algoritmos para junções Há vários algoritmos para processar junções nested-loop join block nested-loop join indexed nested-loop join merge-join hash-join A escolha

Leia mais

Á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 Á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

Leia mais

SCC0601 Introdução à Ciência da Computação II. Prof. Lucas Antiqueira

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

Leia mais