Professional Documents
Culture Documents
2/56
Armazenamento de Dados
Viso alto nvel dos dados; Objetivo do banco de dados simplificar e facilitar o acesso a dados;
A estrutura de dados precisa ser feita com base no uso esperado do sistema e das caractersticas fsicas da mquina especfica;
3/56
Armazenamento de Dados
Meios de armazenamento:
Cache (hardware); Memria principal; Memria flash; Discos magnticos; ptico; Fita magnticas; Jukebox e robotizados;
4/56
Armazenamento de Dados
Discos Magnticos:
Brao do disco fazem as cabeas se movimentarem juntas; Interface que recebe comandos de alto nvel (leitura e escrita); Controla aes do hardware (posicionamento da cabea de leitura, rotao, leitura e escrita, etc.); Verificao dos dados gravados (checksum); Mapeamento de setores defeituosos; Diagnsticos dos hardware;
5/56
Controladora de disco:
Armazenamento de Dados
Discos Magnticos:
6/56
Armazenamento de Dados
Interconexo:
SATA (Serial ATA); SCSI (Small-Computer-System Interconnect); SAN (Storage Area Network); RAID (Redundant Arrays of Independent Disks); NAS (Network Attached Storage); 12 Portas; Sistema:
Controladora RAID:
Armazenamento de Dados
Tempo de busca: tempo para reposicionar o brao; Tempo de latncia rotacional: tempo gasto at que o setor desejado aparea;
Velocidade em que os dados podem ser lidos ou gravados no disco; Tempo mdio para a falha;
8/56
Confiabilidade;
Armazenamento de Dados
Solicitaes de I/O de disco so geradas pelo sistema de arquivo e memria virtual; Os dados so transferidos entre o disco e memria principal em unidades de bloco; Bloco: unidade lgica, consistindo em um nmero fixo de setores contguos;
9/56
Armazenamento de Dados
Organizao de arquivo: os blocos no disco podem ser organizados de uma maneira que corresponde de perto o modo como esperamos que os dados sejam acessados;
Arquivos fragmentados;
10/56
Armazenamento de Dados
Recebe uma solicitao de gravao de um bloco; Escreve na NVRAM; Responde com sucesso a solicitao; A controladora grava em disco, quando do buffer cheio ou no tiver outra atividade;
Armazenamento de Dados
Aumento da Confiabilidade:
Redundncia:
Armazenar informaes extras, que podem ser utilizadas no caso de falhas de um disco; Espelhamento (Mirroring);
12/56
Armazenamento de Dados
Espelhamento (Mirroring);
Duplicar as informaes em discos; Distribuir os bits de um byte em diferentes discos; Distribuir os blocos em diferentes disco; Trata array de discos como um nico disco grande;
Objetivos:
Armazenamento de Dados
Espelhamento:
Alta confiabilidade,mas caro; Alta taxa de transferncia de dados; No melhora a confiabilidade; So diversos esquemas alternativos que buscam melhorar a redundncia com menor custo, combinando o espalhamento de disco com os bits de paridade; Diferentes opes de custo-desempenho;
Espalhamento:
Nveis RAID:
14/56
Armazenamento de Dados
Nvel 0:
15/56
Armazenamento de Dados
Nvel 1:
16/56
Armazenamento de Dados
Nvel 10:
17/56
Armazenamento de Dados
Nvel 2:
Cdigo de Correo de Erro (ECC); Bits de paridade; Paridade intercalada por bit; Bit de paridade em um disco separado; Utilizam a deteco de erro do disco;
Nvel 3:
18/56
Armazenamento de Dados
Nvel 3:
19/56
Armazenamento de Dados
Nvel 4:
Paridade intercalada por bloco; Bloco de paridade em um disco separado; Paridade em um nico disco; Paridade distribuda intercalada por bloco; Particiona dados e paridade entre todos os discos; Aumento do nmero de solicitaes atendidas;
Nvel 5:
20/56
Armazenamento de Dados
Nvel 5:
21/56
Armazenamento de Dados
Nvel 6:
Semelhante ao RAID 5; Armazenas outras informaes redundantes extras; Proteger contra mltiplas falhas de disco; Utiliza cdigos de correo de erro
22/56
Armazenamento de Dados
Nvel 6:
23/56
Armazenamento de Dados
Custo; Requisitos de desempenho; Desempenho em relao as falhas de disco; Desempenho durante a reconstruo; RAID de software; RAID de hardware; Troca a quente (Hot swapping);
24/56
Hardware:
Armazenamento de Dados
Acesso ao armazenamento:
Cada arquivo particionado em unidade de armazenamento de tamanho fixo, os blocos; Os blocos, so as unidades de alocao de armazenamento e transferncia de dados; Um bloco pode conter vrios itens de dados;
O conjunto exato de itens de dados que um bloco contm determinado pelo formato da organizao fsica dos dados;
25/56
Armazenamento de Dados
Acesso ao armazenamento:
O objetivo do sistema de banco de dados minimizar o nmero de transferncias de blocos entre o disco e a memria;
Reduzindo a quantidade de acessos ao disco; Manter o mximo de blocos possveis na memria principal;
Gerenciador de buffer;
26/56
Armazenamento de Dados
Gerenciador de buffer:
Sistema de banco de dados fazem solicitaes ao gerenciador de buffer quando precisam de um bloco de disco;
Se o bloco j est em memria esse passa o endereo do bloco na memria principal; Se o bloco no estiver no buffer, o gerenciador de buffer aloca (se necessrio, libera) espao no buffer para o bloco. O bloco descartado (se necessrio) gravado de volta no disco. Depois feito a leitura do bloco solicitado para o buffer e retorna o endereo da memria principal ao solicitante;
27/56
Armazenamento de Dados
Gerenciador de Buffer:
LRU (Last Recently Used); Gravado em disco e removido do buffer o bloco referenciado mais antigo em memria principal; Um bloco no pode ser gravado, enquanto uma atualizao no bloco est em andamento; Atualiza o bloco em disco, mesmo sem ser necessrio esse espao em memria principal;
28/56
Blocos presos:
Armazenamento de Dados
Objetivo de minimizar acessos a disco; Sistemas de Banco de Dados, normalmente so capazes de determinar com antecedncia quais blocos sero necessrios; LRU (Last Recently Used):
Analisando as etapas necessrias para realizar uma operao; Futuro a curto prazo; Libera espao de um bloco, assim que o Sistema de Banco de Dados terminar o processamento deste;
29/56
Lanar Imediatamente:
Armazenamento de Dados
Lanar Imediatamente:
Libera espao de um bloco, assim que o Sistema de Banco de Dados terminar o processamento deste; Libera o bloco usado recentemente, para ser liberado do buffer; Prender bloco usado atualmente;
30/56
Armazenamento de Dados
Gerenciador de Buffer:
Esquema lgico das relaes; Esquema fsico de armazenamento; Muito utilizado em Sistemas de Banco de Dados; Muitas vezes, mais acessados do que os prprios arquivos de dados;
31/56
Armazenamento de Dados
Gerenciador de Buffer:
Atuais; Futuras;
Armazenamento de Dados
Organizao de arquivo;
organizado logicamente como uma sequencia de registros; Registros, so mapeados em blocos de disco;
Registros so de tamanho variado; Blocos tem o tamanho determinado pelo sistema bsico de arquivo; Sistema de arquivo bsico;
33/56
Armazenamento de Dados
Organizao de arquivo;
Utilizar vrios arquivos; Armazenar registros de apenas um tamanho fixo em um arquivo determinado;
Como alternativa, estruturar arquivos para vrios tamanhos de registros; Simplicidade de implementao;
34/56
Armazenamento de Dados
Problemas:
Preenchido com algum outro registro; Marcar os registros excludos; Marcadores simples, dificultam o processo de insero;
35/56
Armazenamento de Dados
Cabealho de Arquivo:
Lista livre;
36/56
Armazenamento de Dados
Vrios tipos de registro em um arquivo; Permitem tamanhos variveis para diferentes campos; Permitem campos repetidos:
Arrays ou Multiconjuntos;
Mtodos:
37/56
Armazenamento de Dados
Cabealho:
Nmero de entradas; O final do espao livre em bloco; Array, cujas entradas contm o local e o tamanho de cada registro; Alocados de forma contigu no bloco; Comeando do final do bloco; Espao livre entre o final do array do cabealho e o primeiro registro;
38/56
O reais registros:
Armazenamento de Dados
39/56
Armazenamento de Dados
Heap:
Registro pode ser armazenado em qualquer local do arquivo; No existe ordenao de registros; Normalmente, existe um nico arquivo para cada relao; Registros so armazenados em ordem sequencial;
Sequencial:
40/56
Armazenamento de Dados
Hashing:
Uma funo de hash calculada sobre algum atributo de cada registro; De acordo com a funo determinado em que bloco do arquivo o registro deve ser colocado;
41/56
Armazenamento de Dados
Atributo ou conjunto de atributos; Registros so encadeados por ponteiros; Registros so armazenados fisicamente (ou mais prximo possvel) da ordem da chave de busca
42/56
Armazenamento de Dados
43/56
Armazenamento de Dados
Registros podem ser lidos na ordem classificada; Difcil manter a ordem fsica em relao a ordem classificada dos registros;
44/56
Armazenamento de Dados
45/56
Armazenamento de Dados
Normalmente, as tuplas de uma relao podem ser representadas como registros de tamanho fixo; Assim, as relaes podem ser mapeadas para uma estrutura de arquivo simples, usando o sistema de arquivos do sistema operacional; Sistemas de baixo custo; Sistemas embarcados ou dispositivos mveis; Torna o Sistema de Banco de Dados simples;
46/56
Armazenamento de Dados
No utilizam o sistema bsico do sistema operacional para o gerenciamento de arquivos; Sistemas de Banco de Dados de grande escala; Necessitam de estrutura adicional para suprir todos os tipos de consultas;
Armazenamento de Dados
48/56
Armazenamento de Dados
49/56
Armazenamento de Dados
No banco de dados:
Armazenamento de Dados
Informaes:
Nome das relaes; Nome de atributos de cada relao; Domnio e tamanho dos atributos; Nomes e definies de vises; Restries de integridade;
51/56
Armazenamento de Dados
Nome de usurios autorizados; Informaes de autorizao e estatsticas; Autenticao; Nmero de tuplas em cada relao; Mtodo de armazenamento para cada relao;
52/56
Armazenamento de Dados
Informaes do armazenamento:
Sequencial, Hash ou Heap; Relaes; Local onde cada relao est armazenada:
Nome do arquivo, quando as relaes so armazenadas nos arquivos do sistema operacional; Blocos contendo registros de cada relao em uma estrutura de dados (lista encadeada), quando as relaes so armazenadas em um nico arquivo;
53/56
Armazenamento de Dados
Informaes do armazenamento:
Sequencial, Hash ou Heap; Relaes; Local onde cada relao est armazenada:
Nome do arquivo, quando as relaes so armazenadas nos arquivos do sistema operacional; Blocos contendo registros de cada relao em uma estrutura de dados (lista encadeada), quando as relaes so armazenadas em um nico arquivo;
54/56
Armazenamento de Dados
55/56
Referncias
KORTH, H. F., SILBERSCHATZ, A. Sistema de Banco de Dados, Makron Books DATE, C. J. Introduo a Sistemas de Banco de Dados. Traduo da 7. Edio Americana. Editora Campus. DATE, C.J. Bancos de Dados, Tpicos Avanados, Editora Campus GARCIA-MOLINA, H. ULLMAN, J.D., WIDOM, J. Implementao de Sistemas de Bancos de Dados. Editora Campus Manuais Tcnicos e Livros voltados para Bancos de Dados especficos.
56/56