INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices)

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

Download "INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices)"

Transcrição

1 INF70 Gerenciamento de Banco de Dados 2 Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva ilmerio@facom.ufu.br UFU/FACOM/BCC

2 Organização de Arquivos OBJETIVO entender como os dados podem ser organizados no espaço em disco para alcançar bom desempenho e segurança nas operações com S GB Ds UFU/FACOM/BCC GBD2 Página:.2

3 Fundamentos de Organização de Arquivos Def.: Organização de arquivos é o método de dispor os registros em um arquivo armazenado em disco Exemplo: tuplas do esquema empregado(nome, idade, salario) serão armazenadas em registros de um arquivo em disco podendo ser organizados por: Opção 1: ordem cronológica de inserção Opção 2: ordem de nome Opção 3: ordem de idade Opção 4: aleatoriamente etc. UFU/FACOM/BCC GBD2 Página:.3

4 Fundamentos de Organização de Arquivos Características de dados em memória externa Unidade de acesso é página (ex: 4KB, 8KB) Custo dominante é I/O, cujo tempo gasto é fixo para qualquer página acessada aleatoriamente Acesso sequencial diminui tempo pois diminui o número médio de seeks por registro UFU/FACOM/BCC GBD2 Página:.4

5 Fundamentos de Organização de Arquivos Interação entre subcamadas do SGBD O Método de acesso a arquivo: recebe do processador de consultas requisição de registro, índice, ou arquivo gerencia páginas alocadas para cada arquivo manipula registros gerencia espaço disponível nas páginas solicita páginas ao Gerenciador de buffer pool que: verifica se página está no buffer se necessário, solicita página ao Gerenciador de espaço em disco que faz acesso ao disco e transmite/recebe páginas para/do buffer pool. UFU/FACOM/BCC GBD2 Página:.5

6 Tipos de Organização de Arquivos Arquivo não ordenado (heap file) registros distribuídos aleatoriamente nas páginas Arquivo ordenado (sorted file) registros armazenados em ordem da chave de busca Arquivo hash registros armazenados em buckets indexados por uma função hash H : KeySet BucketSet Arquivo indexado registros armazenados de acordo com uma estrutura de índice Índice estrutura auxiliar que otimiza busca em arquivos UFU/FACOM/BCC GBD2 Página:.6

7 Índices Principais Características de Índices chave de busca, simples ou composta estrutura facilita busca baseada na chave facilita atualização e remoção aleatória entretanto, múltiplos índices causam sobrecarga na inserção, atualização e remoção CHAVE REGISTRO UFU/FACOM/BCC GBD2 Página:.7

8 Índices Principais Características de Índices ALTERNATIVAS PARA DADOS ASSOCIADOS À CHAVE DATA ENTRY (1) <registro>: este é o arquivo indexado ou arquivo hash (2) <k + rid> : chave mais um identificador de registro (3) <k + lista_rids>: chave mais uma lista de identificadores temos no máximo um índice usa alternativa (1) agrupados/não agrupados (Figuras) Denso / não denso = esparso (Figura) primário / secundário(figura) UFU/FACOM/BCC GBD2 Página:.8

9 Índices Principais Características de Índices Índice agrupado e não agrupado, Alternativa 2 UFU/FACOM/BCC GBD2 Página:.9

10 Índices Principais Características de Índices Exemplo de índice agrupado - Alternativa Entradas Paulo, 44, 2000 Pedro, 35, 2000 Carlos, 44, 2000 José, 40, 2500 João, 35, 3000 Ilmério, 40, 3500 Rodrigo, 40, 3500 Maria, 30, 4000 Sara, 35, 4000 Sabrina, 31, 5000 Registros de dados UFU/FACOM/BCC GBD2 Página:.10

11 Índices Principais Características de Índices Exemplo de índice não agrupado - Alternativa 2 H H(sal) = 01 H(sal) = 11 H(sal) = Entradas Paulo, 44, 2000 Pedro, 35, 2000 Carlos, 44, 2000 José, 40, 2500 João, 35, 3000 Ilmério, 40, 3500 Rodrigo, 40, 3500 Maria, 30, 4000 Sara, 35, 4000 Sabrina, 31, 5000 Registros de dados UFU/FACOM/BCC GBD2 Página:.11

12 Índices Principais Características de Índices Índice denso: se para cada valor k da chave de busca existe uma entrada (k,rid) UFU/FACOM/BCC GBD2 Página:.12

13 Índices Principais Características de Índices Índice esparso = não denso (tem que ser agrupado) UFU/FACOM/BCC GBD2 Página:.13

14 Índices Principais Características de Índices Índice Primário : chave do índice é chave primária do arquivo Índice Secundário: chave pode ocorrer mais de uma vez UFU/FACOM/BCC GBD2 Página:.14

15 Índices Principais Estruturas de Índices Índice Baseado em Hash Chave Entradas (Alternativa1=<registro>, Alternativa2=<k+rid>, ou Alternativa3=<k+lista_rids>) distribuídas em buckets, cada um formado por uma página primária e zero ou mais páginas de overflow Função Hash H : KeySet BucketSet acesso em um ou dois I/O se hash sem overflow UFU/FACOM/BCC GBD2 Página:.15

16 Índices Principais Estruturas de Índices Índice Baseado em Hash UFU/FACOM/BCC GBD2 Página:.16

17 Índices Principais Estruturas de Índices Índice Baseado em Árvore UFU/FACOM/BCC GBD2 Página:.17

18 Índices Principais Estruturas de Índices Índice Baseado em Árvore Chave Folhas: Entradas Daddos (Alternativa 1=<registro>, Alternativa 2=<rid>, ou Alternativa 3=<rid>*) Nodos Internos: Entradas Índice UFU/FACOM/BCC GBD2 Página:.18

19 Índices Principais Estruturas de Índices Índice Baseado em Árvore Características das Árvores B+ Caminho de tamanho uniforme da raiz até a folha Fan-out(F) é o número de filhos do nó interno Profundidade (h) é o tamanho do caminho raiz/folha Se Número de folhas = N, então N = F h Logo, h = log F N Facilita busca por intervalo UFU/FACOM/BCC GBD2 Página:.19

20 Operações Modelo de Custo Alternativas de arquivos/indices Tabela Comparativa UFU/FACOM/BCC GBD2 Página:.20

21 Operações em Arquivos e Índices Scan (varredura) : ler todos os registros de um arquivo Carregar páginas do arquivo no Buffer Pool Buscar registros em cada página Busca Igual (com predicado de igualdade k = valor) Carregar páginas com os registros selecionados Buscar registros em cada página Se o predicado não for pela chave, então realizar varredura Busca por faixa de valores (intervalo i.e. (x < k < y)) Carregar páginas com os registros selecionados Buscar registros em cada página Se o predicado não for pela chave, então realizar varredura. UFU/FACOM/BCC GBD2 Página:.21

22 Operações em Arquivos Inserção : Identificar página na qual o registro deve ser inserido Carregar a página no Buffer Pool Incluir registro na página Escrever página modificada no disco Remoção : Identificar a página contendo o registro Carregar a página no Buffer Pool Modificar a página Escrever a página modificada no disco UFU/FACOM/BCC GBD2 Página:.22

23 Modelo de Custo B = número de Páginas R = número de registros por página D = tempo médio para ler ou escrever uma página no disco C = tempo médio para processar um registro H = tempo para aplicação da função Hash C e H da ordem de nanosegundos e D microsegundos, logo o tempo gasto com IO é o custo dominante Essas considerações são simplistas mas suficientes para mostrar a intuição das estruturas que serão estudadas em detalhe. UFU/FACOM/BCC GBD2 Página:.23

24 Alternativas a serem comparadas Arquivo não Ordenado (Heap) Arquivo Ordenado Arquivo Indexado Hash (sem overflow) Arquivo Indexado Arvore B+ Arquivo Heap + Indice Hash usando Alternativa 2 Arquivo Heap + Indice Arvore B+, não agrupada, usando Alternativa 2 UFU/FACOM/BCC GBD2 Página:.24

25 Considerações Gerais Um registro resultante da busca com igualdade Arquivo Ordenado com compactação após remoção Arquivo Hash com 80% de ocupação buckets, logo, tamanho total do arquivo = 1,25B páginas Árvore Agrupada (Alternativa 1) com 67% ocupação, logo, folhas na árvore ocupam 1,5B páginas Índices Árvore B+ não agrupada e Hash, usando Alternativa 2 com entradas de tamanho igual a 10% do registro e 67% de ocupação, logo: média de 6,7R entradas por página/bucket Hash com 0,15B páginas Idem para folhas da árvore. UFU/FACOM/BCC GBD2 Página:.25

26 Considerações sobre o Arquivo não Ordenado (Heap) Inserção por ordem de chegada, sempre no final do arquivo Sem compactação em remoção UFU/FACOM/BCC GBD2 Página:.26

27 Arquivo Heap Varredura(Scan) Ler todas as páginas (BD) Processar R registros por página (BRC) Tempo = B (D + RC) Custo IOs = B UFU/FACOM/BCC GBD2 Página:.27

28 Arquivo Heap BuscaIgual (predicado k = valor) Ler metade do arquivo(em média) para encontrar a página do registro (0,5BD) Processar todos registros de cada página lida à procura do registro especificado (0,5BRC) Tempo = 0,5B(D + RC) Custo IO = 0,5B UFU/FACOM/BCC GBD2 Página:.28

29 Arquivo Heap BuscaFaixa(intervalo ) Ler todas as páginas do arquivo em busca de registros do intervalo (BD) Processar todos os registros de cada página (BRC) Tempo = B(D + RC) Custo IO = B UFU/FACOM/BCC GBD2 Página:.29

30 Arquivo Heap Inserção Ler a última página do arquivo (D) Inserir o registro na página(c) Rescrever a página modificada no disco(d) Tempo = D + C + D = 2D + C Custo IO = 2 UFU/FACOM/BCC GBD2 Página:.30

31 Arquivo Heap Remoção Localizar o registro a ser removido(buscaigual) Remover o registro da página (C) Rescrever a página modificada no disco (D) Tempo = BuscaIgual + C + D Custo IO = 0,5B + 1 Obs: lembrando que o arquivo não será comprimido após remoção. UFU/FACOM/BCC GBD2 Página:.31

32 Considerações sobre o Arquivo Ordenado Inserção em ordem de uma chave de busca Busca binária no arquivo para localizar um registro Reorganização das páginas após inserção Compactação do arquivo após remoção UFU/FACOM/BCC GBD2 Página:.32

33 Arquivo Ordenado Varredura(Scan) Ler todas as páginas (BD) Processar R registros por página (BRC) Tempo = B (D + RC) Custo IOs = B UFU/FACOM/BCC GBD2 Página:.33

34 Arquivo Ordenado BuscaIgual (predicado k = valor) Localizar página por meio de busca binária no arquivo (Dlog 2 B) Processar 2 registros(extremidades) por página em cada passo da busca (2Clog 2 B) Realizar busca binária na página onde se localiza o registro (Clog 2 R) Tempo = (D+2C)log 2 B + C log 2 R Custo IO = log 2 B UFU/FACOM/BCC GBD2 Página:.34

35 Arquivo Ordenado BuscaFaixa(intervalo ) Localizar a página e registro de início do intervalo (BuscaIgual) Ler todos os registros subsequentes na página (0,5RC) Ler as demais páginas e processar seus registros até encontrar o final do intervalo. Seja #pgm o número adicional de páginas com registros no intervalo (#pgm (D+RC)) Tempo = BuscaIgual + #pgm D + RC (#pgm + 0,5) Custo IO = log 2 B + #pgm UFU/FACOM/BCC GBD2 Página:.35

36 Arquivo Ordenado Inserção Localizar página para inserção (BuscaIgual) Seja 2C o custo de inserir e realizar o shift dos registros na página. Ler todas as páginas a partir da posição corrente(metade do arquivo) (0,5BD) Realizar o shift em todas as páginas a partir da posição corrente (0,5B 2C) Reescrever todas as páginas a partir da posição corrente (0,5BD) Tempo = BuscaIgual + B (D + C) Custo IO = B + log 2 B UFU/FACOM/BCC GBD2 Página:.36

37 Arquivo Ordenado Remoção Localizar página para remoção (BuscaIgual) Seja 2C o custo de remover e realizar o unshift dos registros em uma página Ler as páginas à partir da posição corrente(metade do arquivo) (0,5 BD) Realizar a remoção e unshift dos registros (0,5B 2C) Reescrever todas as páginas a partir da posição corrente (0,5BD) Tempo = BuscaIgual + B (D + C) Custo IO = B + log 2 B UFU/FACOM/BCC GBD2 Página:.37

38 Arquivo Ordenado Observações: A reorganização do arquivo na inserção e remoção torna essas operações muito custosas Uma alternativa é adiar a reorganização para ser feita periodicamente, prejudicando as buscas Mas a principal solução deste problema é o arquivo indexado que mantem o custo de busca na mesma ordem e diminui consideravelmente o custo de inserção e remoção UFU/FACOM/BCC GBD2 Página:.38

39 Considerações sobre o Arquivo Indexado baseado em Hash Hash com entradas do tipo Alternativa 1 Hash sem overflow Páginas são ocupadas em 80%, pois espaço livre é deixado nas páginas para evitar overflow no bucket em caso de novas inserções Número de páginas no hash será: B/0,80 = 1,25B UFU/FACOM/BCC GBD2 Página:.39

40 Arquivo Hash Varredura(Scan) Ler todas as páginas (1,25 BD) Processar 0,8R registros em cada página (1,25B 0,8RC) Tempo = 1,25B(D + 0,8RC) Custo IO = 1,25B UFU/FACOM/BCC GBD2 Página:.40

41 Arquivo Hash BuscaIgual (predicado k = valor) Calcular a função hash (H) Ler o bucket (D) Assumindo varredura média de metade do bucket para localizar o registro (0,4RC) Tempo = H + D + 0,4RC Custo IO = 1 UFU/FACOM/BCC GBD2 Página:.41

42 Arquivo Hash BuscaFaixa(intervalo) Ler todas as páginas do hash em busca de registros do intervalo (1,25BD) Processar os registros de cada página (1,25B 0,8RC) Tempo = 1,25B(D+0,8RC) Custo IO = 1,25B UFU/FACOM/BCC GBD2 Página:.42

43 Arquivo Hash Inserção Calcular a função hash (H) Ler o bucket (sem overflow) (D) Inserir registro no final do bucket (C) Reescrever o bucket (D) Tempo = H + C + 2D Custo IO = 2 UFU/FACOM/BCC GBD2 Página:.43

44 Arquivo Hash Remoção Localizar o registro (BuscaIgual) Remover o registro, reorganizando o bucket (0,4RC) Escrever o bucket modificado (D) Tempo = BuscaIgual + 0,4RC + D Custo IO = 2 UFU/FACOM/BCC GBD2 Página:.44

45 Considerações sobre o Arquivo Indexado baseado em Arvore B+ Agrupada Entrada nas folhas do tipo Alternativa 1 Folhas são ocupadas em 67%, pois espaço livre é deixado para novas inserções Número de folhas = B / 0,67 = 1,5B Número de registros por folha = 0,67R Seja F o número médio de filhos de cada nó interno, então, a altura da ávore h = log F 1,5B UFU/FACOM/BCC GBD2 Página:.45

46 Arvore B+ Agrupada Varredura(Scan) Ler todas as folhas da árovore (1,5BD) Processar os registros de cada folha (1,5B 0,67RC) Tempo = B(1,5D + RC) Custo IO = 1,5B UFU/FACOM/BCC GBD2 Página:.46

47 Arvore B+ Agrupada BuscaIgual (predicado k = valor) Localizar folha por meio de busca em profundidade na árvore (Dlog F 1,5B) Em cada nível, processar uma média de log 2 (F-1) entradas para localizar ponteiro: ((log F 1,5B)(Clog 2 (F-1))) Localizar registro na folha por meio de busca binária (Clog 2 0,67R) Tempo = log F 1,5B (D + Clog 2 (F-1)) + C log 2 0,67 R Custo IO = log F 1,5B UFU/FACOM/BCC GBD2 Página:.47

48 Arvore B+ Agrupada BuscaFaixa(intervalo) Localizar início do intervalo (BuscaIgual) Ler folhas subsequentes até encontrar o final do intervalo (1,5 #pgm D) Processa entradas de cada folha (1,5 #pgm 0,67RC) Tempo = BuscaIgual #pgm D + R #pgm C = BuscaIgual + 1,5 #pgm (D + 0,67RC) Custo IO = BuscaIgual + 1,5 #pgm UFU/FACOM/BCC GBD2 Página:.48

49 Arvore B+ Agrupada Inserção Localizar a folha onde será inserido o novo registro (BuscaIgual) Inserir nova entrada na folha, fazendo um shift de suas entradas. Seja 2C o custo do shift (2C) Reescrever a folha (D) Tempo = BuscaIgual + 2C + D Custo IO = 1 + BuscaIgual UFU/FACOM/BCC GBD2 Página:.49

50 Arvore B+ Agrupada Remoção Localizar a folha onde será removido o registro (BuscaIgual) Remover a entrada na página, fazendo um unshift de suas entradas. Seja 2C o custo do unshift (2C) Reescreve folha (D) Tempo = BuscaIgual + 2C + D Custo IO = 1 + BuscaIgual UFU/FACOM/BCC GBD2 Página:.50

51 Considerações sobre o Arquivo Heap com Índice baseado Arvore B + não agrupada A entrada nas folhas da árvore ocupa 10% do registro 67% de ocupação das folhas Portanto serão 6,7R entradas em cada folha O número de folhas da ávore será N= 0,1B/0,67 = 0,15B UFU/FACOM/BCC GBD2 Página:.51

52 Arquivo Heap + Arvore B + não agrupada Varredura(Scan) Varrer o índice não é viável, pois seria necessário varrer as folhas e mais um IO no arquivo de dados para cada registro i.e., Custo IO > BR Então, varrer o heap Tempo = B (D + RC) Custo IOs = B UFU/FACOM/BCC GBD2 Página:.52

53 Arquivo Heap + Arvore B + não agrupada BuscaIgual (predicado k = valor) Localizar a folha por meio de busca em profundidade na árvore (Dlog F 0.15B) Processar uma média de log 2 (F-1) entradas por nível (log F 0.15B)(Clog 2 (F-1)) Localizar a entrada na folha por meio de busca binária (Clog 2 6,7R) Ler a página de dados (D) e processar o registro (C) Tempo = log F 0,15B(D + Clog 2 (F-1)) + Clog 2 6,7R+D+C Custo IO = 1 + log F 0,15B UFU/FACOM/BCC GBD2 Página:.53

54 Arquivo Heap + Arvore B + não agrupada BuscaFaixa(intervalo) Localizar início do intervalo (BuscaIgual) Ler folhas subsequentes até encontrar o final do intervalo (0,15D #pgm) Processar cada entrada (C R #pgm) Para cada entrada na folha: Ler página no arquivo de dados (D R #pgm) Processar cada registro (C R #pgm) Tempo = BuscaIgual + 0,15D#pgm + R#pgm (D + 2C) Custo IO = BuscaIgual + #pgm (0,15 + R) UFU/FACOM/BCC GBD2 Página:.54

55 Arquivo Heap + Arvore B + não agrupada Inserção Localizar a folha onde será inserida a nova entrada e página de dados onde será inserido o novo registro (BuscaIgual) Inserir nova entrada na folha, fazendo um shift de suas entradas (2C) Inserir novo registro na página do heap (C) Reescrever folha e página de dados (2D) Tempo = BuscaIgual + 2D + 3C Custo IO = 2 + BuscaIgual UFU/FACOM/BCC GBD2 Página:.55

56 Arquivo Heap + Arvore B + não agrupada Remoção Localizar a folha de onde será removida a nova entrada e página de dados de onde será removido o novo registro (BuscaIgual) Remover nova entrada na folha, fazendo um unshift de suas entradas (2C) Remover novo registro na página de dados (C) Reescrever folha e página de dados (2D) Tempo = BuscaIgual + 3C + 2D Custo IO = 2 + BuscaIgual UFU/FACOM/BCC GBD2 Página:.56

57 Considerações sobre Arquivo Heap com Índice baseado Hash Hash com entradas do tipo Alternativa 2 Hash sem overflow Páginas são ocupadas em 67% Entrada de tamanho 10% do registro Número de páginas no hash será: 0,1B/0,67 = 0,15B UFU/FACOM/BCC GBD2 Página:.57

58 Arquivo Heap + Hash Varredura(Scan) Varrer o hash não é viável, pois seria necessário varrer os buckets e mais um IO no arquivo de dados para cada entrada i.e., Custo IO > BR Então, varrer o heap Tempo = B (D + RC) Custo IOs = B UFU/FACOM/BCC GBD2 Página:.58

59 Arquivo Heap + Hash BuscaIgual (predicado k = valor) Calcular a função hash (H) Ler o bucket (sem overflow) (D) Varrer em média metade do bucket para localizar a entrada (C 3,35R) Ler página no arquivo de dados (D) Processar o registro (C) Tempo = H + D RC + D + C = H + 2D + C(3,35R + 1) Custo IO = 2 UFU/FACOM/BCC GBD2 Página:.59

60 Arquivo Heap + Hash BuscaFaixa(intervalo) Ler todos os buckets do hash e realizar um IO para cada entrada do intervalo ou fazer uso do heap Vamos comparar o número de IO de duas alternativas Varrer o Hash e ler heap direto: (0,15B + R #pgm) Varrer o Heap: B Logo se #pgm < (0,85B/R) será viável o uso do hash, caso contrário, ou quando não se conhece a estatística, usa-se o heap, i.e.: Tempo = B(D + RC) Custo IO = B UFU/FACOM/BCC GBD2 Página:.60

61 Arquivo Heap + Hash Inserção Calcular a função hash (H) Ler o bucket (sem overflow)(d) Ler página no arquivo de dados (D) Inserir registro no final da página (C) Inserir entrada no final do bucket (C) Reescrever o bucket e a páginia de dados(2d) Tempo = H +2D + 2C + 2D = H + 4D + 2C Custo IO = 4 UFU/FACOM/BCC GBD2 Página:.61

62 Arquivo Heap + Hash Remoção Calcular a função hash (tempo = H) Ler o bucket (D) Ler página no arquivo de dados(d) Localizar e remover entrada no bucket (3,35RC) Localizar e remover registro na página (2C) Regravar o bucket e a páginia de dados (2D) Tempo = H +2D + 3,35RC + 2C + 2D = H + 4D + C(3,35R + 2) Custo IO = 4 UFU/FACOM/BCC GBD2 Página:.62

63 TEMPO VARREDURA BUSCAIGUAL BUSCAFAIXA INSERÇÃO REMOÇÃO BuscaIgual + HEAP B (D + RC) O,5B (D + RC) B (D + RC) 2D + C D + C BuscaIgual + D# pgm + (D+2C)log 2 B + RC(# pgm + BuscaIgual + BuscaIgual + SORTED B (D + RC) C log 2 R 0,5) B(D+C) B(D+C) 1,25B (D + BuscaIgual + HASH FILE 1,25B (D + 0,8RC) H + D + 0,4RC 0,8RC) C + 2D + H 0,4RC + D log F 1.5B (D + BuscaIgual + Clog 2 (F-1)) + BuscaIgual + B (1,5D + RC) Clog 2 0,67R BTREE FILE BTREE INDEX HASH INDEX log F 0,15B (D + Clog 2 (F-1)) + Clog 2 6,7R + D + B (D + RC) R B (D + RC) H + 2D + C(3,35R 1,5#pgm (D + 0,67RC) BuscaIgual + 0,15D#pgm + R#pgm(D + 2C) + 1) B (D + RC) D + 2C H + 4D + 2C BuscaIgual + D + 2C BuscaIgual BuscaIgual + + 2D + 3C 2D + 3C H + 4D + C(3,35R+1) UFU/FACOM/BCC GBD2 Página:.63

64 I O V A R R E D U R AB U S C A I G U A L B U S C A F A IXIN AS E R Ç Ã O R E M O Ç Ã O H E A P B 0, 5 B B 2 0, 5 B + 1 S O R TE D B l o g 2 B l o g 2 B + # p g mb + l o B g B + l ob g 2 2 H A S H F I L E 1, 2 5 B 1 1,2 5 B 2 2 l o g F 1,5 B B TR E E F I L E 1, 5 B l o g F 1, 5 B 1, 5 # p g m l o g F 1,5 B l o g F 1, 5 B 1 + l o 0 g,1 5 B + B TR E E I N B 1 + l o 0 g, 1 5B F F # p g m ( 0, lr o g F ) 0,1 5B l o g F 0, 1 5B H A S H I N D E X B 2 B 4 4 UFU/FACOM/BCC GBD2 Página:.64

65 Organização de Arquivos Considerações finais Uso em ajuste(tunning) de SBD Geram impactos positivos e negativos na carga de trabalho do SGBD Analisar frequencia de operações Sobrecarga de espaço em disco Hash tem melhor desempenho em busca com predicado de igualdade Árvore B+ tem melhor desempenho em busca por intervalo Algumas consultas podem ser avaliadas usando somente o índice, por exemplo: employee(eid, dno, age, hobby, sal) SELECT avg(sal) FROM employee UFU/FACOM/BCC GBD2 Página:.65

66 Organização de Arquivos Considerações finais Alguns exemplos de uso de índices agrupados, usando o esquema employee(eid, dno, age, hobby, sal) UFU/FACOM/BCC GBD2 Página:.66

67 Organização de Arquivos Considerações finais Alguns exemplos de uso de índices agrupados UFU/FACOM/BCC GBD2 Página:.67

68 Organização de Arquivos Considerações finais Chaves compostas em caso de Árvores B+ podem usar prefixo como chave UFU/FACOM/BCC GBD2 Página:.68

69 Organização de Arquivos Considerações finais Especificação de índices no SQL 99 CREATE INDEX IndAgeGrau ON Estudantes WITH STRUCTURE = BTREE, KEY = (Idade, Média) UFU/FACOM/BCC GBD2 Página:.69

70 Organização de Arquivos Exercícios UFU/FACOM/BCC GBD2 Página:.70

71 Fim - Organização de Arquivos Fim - Organização de Arquivos UFU/FACOM/BCC GBD2 Página:.71

GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices)

GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices) GBC053 Gerenciamento de Banco de Dados Introdução à Organização de Arquivos (Métodos de Acesso/Índices) Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Organização

Leia mais

Parte 2 Abordagem Comparativa

Parte 2 Abordagem Comparativa GBC053 Gerenciamento de Banco de Dados Organização de Arquivos Parte 2 Abordagem Comparativa Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Organização de Arquivos

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 ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página: Roteiro Fundamentos Hash

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

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 ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd Roteiro Fundamentos Hash Estático Hash Extensível Hash Linear Considerações

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

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

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 Ordenação Externa. Ilmério Reis da Silva  UFU/FACOM/BCC INF70 Gerenciamento de Banco de Dados 2 Ordenação Externa Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Roteiro Fundamentos Two-way Merge Sort External Merge Sort

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

Modelo Relacional. Josino Rodrigues

Modelo Relacional. Josino Rodrigues Modelo Relacional Josino Rodrigues Modelo Relacional Chave Primária Atributos PILOTO Num-cad Nome CPF Endereço 0101 João 123456 Recife Tuplas 0035 José 234567 São Paulo... 0987 Pedro 567890 Recife 2 Chave

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

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

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 ilmerio@ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema de Gerenciamento

Leia mais

11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária

11/8/2010. Tópicos. Organização e Indexação de Dados em Memória Secundária /8/00 Tópicos Organização e Indexação de Dados em Memória Secundária Disciplina Bancos de Dados II Prof Renato Fileto INE/CTC/UF Bancos de dados e acesso a memória secundária Noções de organização de dados

Leia mais

GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores

GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores GBC053 Gerenciamento de Banco de Dados Índices baseados em Árvores Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC ROTEIRO Fundamentos Estrutura estática (ISAM) Estrutura

Leia mais

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão

Árvore-B. Árvore B. Características Gerais. Sistemas de Banco de Dados. Características Gerais. Revisão Árvore B Profa. Dra. Cristina Dutra de Aguiar Ciferri Método genérico para o armazenamento e a recuperação de dados voltado para arquivos volumosos proporciona rápido acesso aos dados possui custo mínimo

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

BANCO DE DADOS Índices em BD Á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 - erica.gallindo@ifce.edu.br Arquivos de banco de dados Um arquivo

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

Sumário. Definição do Plano de Execução

Sumário. Definição do Plano de Execução Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos de

Leia mais

3 Plano de Execução de Consultas

3 Plano de Execução de Consultas Sumário 1 Introdução ao Processamento de Consultas 2 Otimização de Consultas 3 Plano de Execução de Consultas 4 Introdução a Transações 5 Recuperação de Falhas 6 Controle de Concorrência 7 Fundamentos

Leia mais

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

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

Leia mais

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória.

Bases de Dados. Índices. Discos. transferência lenta. transferência rápida e em blocos (512B ~ 4KB) e aos bytes. memória. Bases de Dados Índices Discos transferência lenta transferência rápida e em blocos (512B ~ 4KB) e aos bytes memória disco aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000 tracks

Leia mais

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira

Construção de árvores-b. Árvores-B (Parte II) Características Gerais. Características Gerais. Leandro C. Cintra M.C.F. de Oliveira Árvores-B (Parte II) Construção de árvores-b Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Características Gerais Organizar e manter um índice para um arquivo de acesso aleatório

Leia mais

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações

Índice. Índices. Índice simples. Em geral, um índice fornece mecanismos para localizar informações Índice Índices Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Em geral, um índice fornece mecanismos para localizar informações No caso de arquivos, permite localizar registros

Leia mais

Bases de Dados. Remoções em árvores B + Remoção em árvores B +

Bases de Dados. Remoções em árvores B + Remoção em árvores B + Bases de Dados Remoções em árvores B + Remoção em árvores B + Remoção procurar o registo e removê-lo do ficheiro se o apontador ou contentor ficar vazio, remover a entrada (valor, apontador) da folha se

Leia mais

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Árvores-B (Parte II) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures (atualizado 2007 c/ material Profa. Cristina Ciferri) Construção de árvores-b Características Gerais

Leia mais

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação

Bases de Dados. Índices. Discos. transferência rápida e aos bytes. transferência lenta e em blocos (512B ~ 4KB) memória. disco BD / aplicação Bases de Dados Índices Discos transferência lenta e em blocos (512B ~ 4KB) transferência rápida e aos bytes memória disco BD / aplicação 2 1 Discos 7200rpm = 120 rot/s 1 5 platters Ø 8.9 cm 50000 ~ 100000

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

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

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

Árvores B Partes I e II

Árvores B Partes I e II Estruturas de Dados Prof. Ricardo J. G. B. Campello Árvores B Partes I e II Motivação & Construção Bottom-Up Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção

Leia mais

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução?

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Introdução. Leandro C. Cintra Maria Cristina F. de Oliveira. Solução? Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Árvores B Parte I Introdução Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da B-Tree

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

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

Árvores B Parte IV. Revisão de Inserção. Organização. Variantes. Leandro C. Cintra Maria Cristina F. de Oliveira

Árvores B Parte IV. Revisão de Inserção. Organização. Variantes. Leandro C. Cintra Maria Cristina F. de Oliveira Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Árvores B Parte IV Variantes Adaptado e Estendido dos Originais de: Leandro C. Cintra Maria Cristina F. de Oliveira Organização Inserção

Leia mais

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

Leia mais

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ia) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Problema Cenário até então Acesso a disco é caro (lento) Pesquisa binária é útil em índices ordenados... mas com índice grande

Leia mais

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck

Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck Universidade Estadual do Oeste do Parana - UNIOESTE Jhonata R.de Peder Marcelo Schuck Banco dedados I Estruturas de Índices para Arquivos Cascavel - Pr 2009 Sumário Introdução; Índices Ordenados de nível

Leia mais

Árvore-B* Profa. Dra. Cristina Dutra de Aguiar Ciferri

Á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

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

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

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

Í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

Ordenação e Busca em Arquivos

Ordenação e Busca em Arquivos Ordenação e Busca em Arquivos Cristina D. A. Ciferri Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Moacir Ponti Jr. Exemplos de Busca Registros de tamanho fixo M A R I A R U A b 1 S A O b C A

Leia mais

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução

A Invenção da B-Tree. Árvores B Parte I. Problema. Problema. Árvores Binárias de Busca. Árvores Binárias de Busca. Introdução Algoritmos e Estruturas de Dados II Árvores B Parte I Introdução Adaptado dos Originais de: Profa. Debora Medeiros Ricardo J. G. B. Campello Leandro C. Cintra Maria Cristina F. de Oliveira A Invenção da

Leia mais

INF70 Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução

INF70 Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução INF70 Gerenciamento de Banco de Dados 2 Plano de Curso e Introdução Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Plano de Curso Ementa Arquitetura de um Sistema

Leia mais

Sistemas de Gerência de Bancos de Dados. Módulo 1 - Armazenamento

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

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

Processamento da Consulta. Processamento da Consulta

Processamento da Consulta. Processamento da Consulta Processamento da Consulta Equipe 05 Adriano Vasconcelos Denise Glaucia Jose Maria Marcigleicy Processamento da Consulta Refere-se ao conjunto de atividades envolvidas na extra de dados de um banco de dados.

Leia mais

Archivos e índices. Agenda

Archivos e índices. Agenda Archivos e índices Integrantes: Javier Carrasco Johnny Corbino Agenda Archivos de Registros del SGBD Organización e indexación de archivos Estructuración de índices Comparaciones de organización y costo

Leia mais

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios

SCC Algoritmos e Estruturas de Dados II. 6ª lista de exercícios DEPARTAMENTO DE CIÊNCIAS DE COMPUTAÇÂO SCC0203 - Algoritmos e Estruturas de Dados II 6ª lista de exercícios Questão 1 Explique a seguinte sentença: Árvores-B são construídas de baixo para cima, enquanto

Leia mais

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo

Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Bacharelado em Ciência da Computação UFU Disciplina GBC053 Gerência de Banco de Dados Profa. Sandra de Amo Solução dos Exercicios Aula 26 Cálculo de Custos de Planos de Execução de Consultas R(sid,bid,day,rname)

Leia mais

Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II Árvore-B +

Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri. Algoritmos e Estruturas de Dados II Árvore-B + Árvores-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri Acesso Seqüencial Indexado Alternativas (até o momento) acesso indexado arquivo pode ser visto como um conjunto de registros que são indexados por

Leia mais

UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2019/1-1 a Lista de Exercícios Prof. Ilmério Reis da Silva

UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2019/1-1 a Lista de Exercícios Prof. Ilmério Reis da Silva UFU/FACOM/BCC Gerenciamento de Bancos de Dados 2019/1-1 a Lista de Exercícios Prof. Ilmério Reis da Silva 1. (9.5 do livro-texto) Considere um disco com tamanho de setor igual a 512 bytes, 2000 trilhas

Leia mais

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR

Processamento e Otimização de Consultas. Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Processamento e Otimização de Consultas Msc. Simone Dominico Orientador: Dr. Eduardo Cunha de Almeida PPGINF - UFPR Conteúdo Processamento de consultas; Introdução Etapas no Processamento de Consultas

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

Introdução. Introdução

Introdução. Introdução Introdução Os BD s são armazenados fisicamente, em geral, como arquivos de registros em discos magnéticos Este capítulo vai tratar da organização de BD s em estruturas de armazenamento das técnicas para

Leia mais

Hashing convencional...

Hashing convencional... Hashing M.C.F. de Oliveira & Cristina Ciferri 2006/2007 Fonte: Folk & Zoelick, File Structures 1 Hashing convencional... Revisão... 2 1 Hashing 0 chave de busca K = LOWELL h(k) endereço 4 1 2 3 4 5...

Leia mais

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri

Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri Árvore-B + Profa. Dra. Cristina Dutra de Aguiar Ciferri Acesso Sequencial Indexado Alternativas (até o momento) acesso indexado o arquivo pode ser visto como um conjunto de registros que são indexados

Leia mais

GBC053 Gerenciamento de Banco de Dados Processamento de Consultas

GBC053 Gerenciamento de Banco de Dados Processamento de Consultas GBC053 Gerenciamento de Banco de Dados Processamento de Consultas Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd UFU/FACOM/BCC UFU/FACOM/BCC GBD Página:2 ROTEIRO Introdução Técnicas

Leia mais

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO

Árvores. Árvores M-Vias. Métodos de Pesquisa de Dados. de Pesquisa (ANP) VANTAGENS EXEMPLO Métodos de Pesquisa de Dados Árvores M-Vias Encontrar um dado em um conjunto de dados de forma eficiente Baseia-se na noção de uma chave (índice) de pesquisa Aplicação típica: SGBD Busca de dados em disco

Leia mais

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B + SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Tipos de Acesso a Arquivos Alternativas (até o momento) acesso indexado arquivo pode ser visto como um conjunto de registros que são

Leia mais

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas

Processamento de Consultas. Processamento de Consultas. Processamento de Consultas Distribuídas. Otimização de Consultas Processamento de Processamento de Consultas Processamento de Consultas Passos na execução de consultas Consulta ao B.D. Análise e Tradução Expressão Algébrica Avaliação Plano de Execução Otimização Resultado

Leia mais

Pesquisa em Memória Secundária. Prof. Jonas Potros

Pesquisa em Memória Secundária. Prof. Jonas Potros Pesquisa em Memória Secundária Prof. Jonas Potros Árvores de Pesquisa São estruturas de dados muito eficientes quando deseja-se trabalhar com tabelas que caibam inteiramente na memória principal do computador.

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

Bases de Dados. Parte VIII. Organização Física dos Dados

Bases de Dados. Parte VIII. Organização Física dos Dados Bases de Dados Parte VIII Organização Física dos Dados Ricardo Rocha DCC-FCUP 1 Unidades de Medida da Informação A unidade fundamental é o byte. 1 byte corresponde a 8 bits e cada bit permite representar

Leia mais

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo

Lista de Prioridades. Estrutura de Dados II Prof. Erinaldo Lista de Prioridades Estrutura de Dados II Prof. Erinaldo Heap Ou lista de prioridades, é composta por um conjunto finito de dados, cada qual com uma chave que determinará sua prioridade dentro da lista.

Leia mais

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3

B-tree. B-Trees. Estrutura do nodo da B-tree. Balanceamento. Disposição dos elementos ordenados na B-tree. Exemplo de uma B-tree de ordem 3 B-tree B-Trees Material da Prof. Denise Bandeira, aula de Christian Hofsetz B-Trees são árvores balanceadas. Diferente das árvores binárias, os nós de uma B-tree podem ter um número variável de nodos filho.

Leia mais

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I

Índices. 1. Introdução. Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Universidade Federal de Pelotas Departamento de Informática Bacharelado em Ciência da Computação Banco de Dados I Prof. Paulo Ferreira Atividade para Sala de Aula: 25/11/2008 1. Introdução Índices Os índices

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

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura

Árvores B. Prof. Márcio Bueno. / Fonte: Material da Prof a Ana Eliza Lopes Moura Árvores B Prof. Márcio Bueno ed2tarde@marciobueno.com / ed2noite@marciobueno.com Fonte: Material da Prof a Ana Eliza Lopes Moura Situação Problema Memória Principal Volátil e limitada Aplicações Grandes

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

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes

Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II. Graça Nunes Árvores-B (Parte Ib) SCC-203 Algoritmos e Estruturas de Dados II Graça Nunes Árvores Binárias Paginadas (Paged Binary Trees) 8 páginas-filhas 7 registros por página (por seek); Árvore de altura 2 e ordem

Leia mais

Otimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri

Otimização de Consultas Baseada em Custo. Cristina Dutra de Aguiar Ciferri Otimização de Consultas Baseada em Custo Cristina Dutra de Aguiar Ciferri Estatísticas Informações aproximadas sobre base de dados cada tabela cada atributo de cada tabela cada índice Coletadas durante

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

Armazenamento em disco com uso de índices

Armazenamento em disco com uso de índices Armazenamento em disco com uso de índices Vimos até o momento árvores onde a chave aparenta ser o único objeto de interesse. Contudo, como sugere a representação de um nó, constante no slide 82, a chave

Leia mais

Implementação de Diretórios (1)

Implementação de Diretórios (1) Implementação de Diretórios (1) Ao abrir um arquivo, o SO usa o caminho para localizar a entrada no diretório. A entrada no diretório fornece informações para localizar os blocos de disco. Endereço de

Leia mais

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro

ACH2024. Aula 16 Árvores B Parte 1. Prof Helton Hideraldo Bíscaro ACH2024 Aula 16 Árvores B Parte 1 Prof Helton Hideraldo Bíscaro 1 Na aula passada... 2 Organização indexada Blocos de dados: em cada bloco os registros são ordenados pela chave Índice primário: blocos

Leia mais

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão...

Hashing. Hashing. Hashing versus Indexação. Hashing. Hashing convencional... Exemplo de espalhamento. Revisão... Algoritmos e Estruturas de Dados II Hashing Prof Debora Medeiros Hashing convencional Revisão Adaptado dos Originais de: Maria Cristina F de Oliveira Cristina Ciferri Hashing Exemplo de espalhamento 0

Leia mais

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures

Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira 2004 Fonte: Folk & Zoelick, File Structures http://www.icmc.sc.usp.br/~sce183 Definição e Propriedades de árvores-b Ordem A ordem de uma árvore-b

Leia mais

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1

Ordem. Árvores-B (Parte IV) Número mínimo de chaves por página. Definição formal das Propriedades de árvores-b /30 1 Ordem Árvores-B (Parte IV) Leandro C. Cintra M.C.F. de Oliveira Fonte: Folk & Zoelick, File Structures A ordem de uma árvore-b é dada pelo número máximo de descendentes que uma página, ou nó, pode possuir

Leia mais

INF70 Gerenciamento de Banco de Dados 2 Processamento de Consultas

INF70 Gerenciamento de Banco de Dados 2 Processamento de Consultas INF70 Gerenciamento de Banco de Dados 2 Processamento de Consultas Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/gbd2 UFU/FACOM/BCC Roteiro Introdução Técnicas de Processamento e

Leia mais

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice

Segunda Parte do Trabalho Prático (Parte II) Valor: 60% Descrição do índice 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 PAE

Leia mais

Acesso a Arquivos. Árvores B Parte VI. Acesso Seqüencial & Indexado. Questão. Foco 1. Uso de Blocos. Árvores B+ Alternativas (até o momento)

Acesso a Arquivos. Árvores B Parte VI. Acesso Seqüencial & Indexado. Questão. Foco 1. Uso de Blocos. Árvores B+ Alternativas (até o momento) Algoritmos e struturas de Dados II Árvores B Parte VI Árvores B+ Adaptado dos Originais de: Prof. Debora Medeiros Ricardo J. G. B. Campello Cristina Dutra de Aguiar Ciferri Acesso a Arquivos Alternativas

Leia mais

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b.

Quinto Trabalho Prático. Este trabalho tem como objetivo indexar arquivos de dados usando um índice árvore-b. Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Ciências de Computação Disciplina de Algoritmos e Estruturas de Dados II docente Profa. Dra. Cristina Dutra de

Leia mais

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro MATA60 BANCO DE DADOS Aula 10- Indexação Prof. Daniela Barreiro Claro Indexação Indexação em SQL; Vantagens e Custo dos Índices; Indexação no PostgreSQL; FORMAS - UFBA 2 de X; X=23 Indexação Sintaxe: create

Leia mais

Chaves. Acesso a Registros. Chaves Primária e Secundária. Chaves Primária e Secundária

Chaves. Acesso a Registros. Chaves Primária e Secundária. Chaves Primária e Secundária Algoritmos e Estruturas de Dados II Prof. Ricardo J. G. B. Campello Chaves Acesso a Registros Uma chave (key) está associada a um registro e permite a sua recuperação É uma ferramenta conceitual importante

Leia mais

Métodos de Busca Parte 1

Métodos de Busca Parte 1 Métodos de Busca Parte 1 Introdução à Ciência da Computação II Prof. Diego Raphael Amancio Baseado no material do Prof. Rudinei Goularte e do Prof. Thiago A. S. Pardo Introdução Importância em estudar

Leia mais

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A.

Processamento Cosequencial: Ordenação Interna e Externa. Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Processamento Cosequencial: Ordenação Interna e Externa Thiago A. S. Pardo Leandro C. Cintra M.C.F. de Oliveira Cristina D. A. Ciferri Ordenação em RAM Situação: arquivo cabe em RAM Etapas leitura de todos

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

Lista de Exercícios. Av. Trabalhador São-carlense, 400. centro. São Carlos - SP cep Brasil.

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

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

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

Leia mais

INE5408 Estruturas de Dados. Gerência de Arquivos

INE5408 Estruturas de Dados. Gerência de Arquivos INE5408 Estruturas de Dados Gerência de Arquivos Introdução Arquivo: conjunto de dados em um dispositivo de armazenamento secundário (externo); tipicamente: disco, disquete, fita, CD-ROM, MO-Disc, Zip,

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

Á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

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