A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Revisão Prova 1 AULA 10 Profa. Sandra de Amo GBC053 – BCC 2013-1.

Apresentações semelhantes


Apresentação em tema: "Revisão Prova 1 AULA 10 Profa. Sandra de Amo GBC053 – BCC 2013-1."— Transcrição da apresentação:

1 Revisão Prova 1 AULA 10 Profa. Sandra de Amo GBC053 – BCC

2 Esquema Geral DB Processador de Consultas Gerenciador de Buffer Solicita dados para consulta (leitura) ou alterações (escritura) Busca aloca Informa modif Propaga modif

3 Disco Memória Principal Dados precisam estar na memória principal para serem operados. Unidade de transferência de dados entre disco e memória principal = bloco Se um único item num bloco é necessário, todo o bloco é transferido Ler ou escrever um bloco = operação de I/O Tempo de Acesso = busca + rotação + transferência

4 Tempos de Acesso Procura Tempo para mover as cabeças dos discos para a trilha na qual um bloco desejado está localizado. Rotação Tempo para que o bloco desejado se posicione sob a cabeça do disco = meia rotação em média; menor do que tempo de busca. Transferência Tempo para ler ou escrever no bloco = tempo de rotação do disco sobre o bloco.

5 Gerenciador de Espaço em Disco Quais blocos estão em uso ? Que páginas estão em que blocos ? Inserções e supressões de páginas = criação de buracos. Páginas são alocadas quando da criação de arquivos. Gerenciamento de espaço livre 1a alternativa Lista de blocos livres. Ponteiro para primeiro bloco livre é estocado num local do disco. 2a alternativa Array de 0 e 1 : se o bloco i está livre ou não

6 Algoritmo de Gerenciamento do Buffer Pool 3 0 Frame no pool Dirty bit : página suja ou não Pin-count = número de vezes que a página foi solicitada para consultas ou modificações mas não foi liberada ainda. Inicialmente : Dirtybit := 0 Pin-count := 0

7 Algoritmo de Gerenciamento Testa se buffer pool contém a página desejada Se não : procura frame com pin-count = 0 Frame com pin-count = 0 : página está liberada por transações que a utilizavam Caso não encontre frame com pin-count = 0 Espera até que as transações sendo executadas liberem páginas em uso. Se dirty-bit = 0, escreve página nova no frame. Se dirty-bit = 1 : escreve página do frame no disco Escreve nova página no frame Incrementa pin-count do frame (já que alguma transação solicitou a página)

8 Políticas de Substituição de Páginas Que frames com pin-count = 0 escolher para substituição ? LRU : Least recently used Lista de ponteiros para frames com pin-count = 0 Ponteiros dos frames são adicionados no fim da lista MRU : Most recently used Lista de ponteiros para frames com pin-count = 0 Ponteiros dos frames são adicionados no início da lista Random

9 Gerenciamento de arquivos Heap (sequencias) 1. Como encontrar determinada página no arquivo ? 2. Que página possui espaço livre? Método 1: Lista ligada de páginas Método 2: Diretório de páginas 2/18/2014 Bacharelado em Ciência da Computação

10 2/18/2014 Bacharelado em Ciência da Computação Lista Ligada de Páginas ArquivoEndPag1 Alunos 1033 Hospital5023 Tabela Arquivos- End 1a página Header Page Páginas contendo Espaço Livre Páginas Cheias 1a página do arquivo

11 Diretório de Páginas Diretório de Páginas = Lista Ligada Pg Dados 1 Pg Dados 2 Pg Dados N Header Page Espaço Livre da Página 1 ArquivoEndpg1DP Alunos 1033 Hospital5023 Tabela Arquivos- End 1a páginaDP

12 Focando agora nas páginas !! 250 Identificador da página Número do slot registro rid Página = coleção de slots Slot = espaço físico preenchido por um registro rid = identificador do registro (record id)

13 13 Como registros de tamanho FIXO são organizados: 1a alternativa N Slot 1 Slot 2 Slot 3 Slot N Espaço livre Número de registros Informações sobre a página : Número da página, ponteiro para próxima página,…

14 2/18/2014 Bacharelado em Ciência da Computação Como registros de tamanho fixo são organizados (2ª alternativa) Registros de Tamanho Fixo : 2a alternativa Info sobre página Espaço livre Slot 1 Slot 2 Slot 3 Slot M M Número de Slots 123M 1011

15 2/18/2014 Bacharelado em Ciência da Computação Como registros de tamanho variável são organizados – Diretório de Slots da Página 200Número de slots no diretório 1035 Ponteiro para o início do espaço livre na página (P1, T1) (P2, T2) (P200, T200) Pi = ponteiro para o registro 1 Ti = tamanho do registro 1 Rid = (np, i) Ti

16 2/18/2014 Bacharelado em Ciência da Computação Organização da Página Página i Espaço Livre Área de dados rid = (i,1) N24 Comprimento = 24 rid = (i,2) rid = (i,N) Diretório de slots 1 2 N

17 Focando agora nos registros !! C1C4C3C2 L2L3L4L1 B= endereço do registro Endereço = B + L1 + L2 Ci = campo i Li = Comprimento do campo i O tamanho do campo Ci é o mesmo em todos os registros

18 2/18/2014 Bacharelado em Ciência da Computação Como localizar um campo em um registro de tamanho variável $$$$C1C4C3C2 C1C3C4C2 1a alternativa 2a alternativa Registro Endereço do final do registro

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

20 Como organizar as entradas do índice ? Entrada = registro Entradas podem ser ordenadas Entradas podem ser organizadas por Hash

21 Exemplo de Indice 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, Registros de dadosEntradas : organizadas de forma ordenada

22 Exemplo de Indice organizado por Hash 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, Registros de dados Entradas H 4000 H(sal) = 01 H(sal) = 11 H(sal) = 00

23 Exemplo de Indice Agrupado 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, Registros de dadosEntradas

24 Exemplo de Indice não agrupado 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, Registros de dados Entradas H 4000 H(sal) = 01 H(sal) = 11 H(sal) = 00

25 Exemplo de Indices denso e não denso André, 44, 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, Registros de dados Indice Esparso e Agrupado 44 Pedro, 35, 2000 Indice Denso e não-agrupado André José Rodrigo

26 Indices Primários e Secundários Primários : Chave do índice inclue a chave primária da relação. Não há entradas duplicadas (com mesmo valor da chave) Secundários : Não contém chave primária. Pode conter chave candidata Pode conter duplicatas ou não

27 Indices com chaves compostas bob cal joe sue Indice em Idade Indice em Sal 31,80 33,75 42,10 42,20 10,42 20,42 75,33 80,31 Indice em (Idade,Sal) Indice em (Sal,Idade)

28 Organização de arquivos Sequencial Ordenado Hash Usando Métodos de Acesso para melhorar performance Indices: Arquivos AUXILIARES ISAM, B+Tree, Hash

29 Custos de Operações – Arquivos Heap (sequencial) ScanSel = chave Sel = Nchave Sel <>InsertDelete sel B(RC+D)0.5 B(RC+D) B(D+RC) 2D+CSel + + D + C BD0.5BDBD 2DSel+D

30 Custos de Operações – Arquivos Ordenados

31

32 Custos de Operações: Arquivos Ordenados ScanSel = chave Sel = Nchave Sel <>InsertDelete Sel = chave B(D+RC)(log 2 B)(D+C) + Clog 2 R (log 2 B)(D+C) + Clog 2 R + + RC/2 (log 2 B)(D+C) + Clog 2 R + B/2(D+RC) (log 2 B)(D+C) + (log 2 R)(C) + (D+RC/2) BDDlog 2 B Dlog 2 B + DB/2 Dlog 2 B+ D

33 Custos de Operações – Arquivos Hashed ScanSel = chave Sel = Nchave Sel <>InsertDelete sel 1.25B (D+RC) H + D + RC 1.25B(D+ RC) H+2D+ CSel + D + RC 1.25BDD 2DSel+D

34 Escolha de uma Boa Organização ScanSel = chave Sel = Nchave Sel <>InsertDelete Heap BD0.5BDBD 2D2D+Sel Ord BDDlog 2 B Dlog 2 B + B/2(D+R C) Dlog 2 B + D Dlog 2 B + D Hash 1.25BDD 2DSel+D

35 Método de Acesso – ISAM Organização do índice em árvore Páginas auxiliares que permitem chegar rapidamente a uma folha Páginas do arquivo de índice Páginas do Arquivo de Dados

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

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

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

39 Idéia Se quero buscar empregado com status > 7: Não é preciso fazer busca binária nas páginas do arquivo de indice Faz-se a busca binária no segundo arquivo, que é bem menor do que o primeiro arquivo 2*5*7*12*14*17*19*22* 14

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

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

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

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

44 Vantagens de ISAM ISAM é estático : inserções e deleções afetam somente as folhas. Nós internos não sofrem modificações após uma inserção ou deleção de registros do indice. Logo, páginas internas podem ser manipuladas por outras transações sem problemas de bloqueios, já que nunca são alteradas.

45 Desvantagens de ISAM Possibilidade de cadeias de páginas overflow Páginas overflow geralmente não são ordenadas, a fim de agilizar inserções. Para aliviar este problema : Árvore é criada com 20% de cada folha livre Entretanto, uma vez preenchido este espaço, cadeias de overflow só podem ser eliminadas através de uma total reorganização da estrutura.


Carregar ppt "Revisão Prova 1 AULA 10 Profa. Sandra de Amo GBC053 – BCC 2013-1."

Apresentações semelhantes


Anúncios Google