• Nenhum resultado encontrado

SGBD. Membros: Leandro Cardoso Aguiar. Murillo Parreira. Rafael Gondim Peixoto

N/A
N/A
Protected

Academic year: 2021

Share "SGBD. Membros: Leandro Cardoso Aguiar. Murillo Parreira. Rafael Gondim Peixoto"

Copied!
71
0
0

Texto

(1)

SGBD

Membros:

Leandro Cardoso Aguiar

Murillo Parreira

(2)

Tópico

Capítulo 11

(3)

Introdução

● Começa com uma visão geral do meio de  armazenamento físico; ● Mecanismos para reduzir as chances de perda de dados  devido a falhas; ● Como os registros são mapeados em arquivos e  posteriormente são mapeados em bits no disco;

(4)

Introdução

● Análise de baixo nível do modelo de banco de dados; ● Características dos meios de armazenamento básicos,  seus usos mais comuns, vantagens e desvantagens; ● Estruturas de dados que permitem acesso rápido aos  dados;

(5)

Visão geral dos meios de 

armazenamento físicos

● Variedade de tipos de armazenamento de dados; ● Classificados pela: – Velocidade com que os dados podem ser acessados; – Custo por unidade de dados para comprar o meio; – Confiabilidade do meio. ● Destacam­se os seguintes meios;

(6)

Principais meios de armazenamento

● Cache: – Forma de armazenamento mais rápida e dispendiosa. ● Memória principal: – Utilizada para os dados que estão disponíveis serem  operados; – Muito pequena para armazenar todo um BD; – Conteúdo se perde com falta de energia ou falha.

(7)

Principais meios de armazenamento

● Memória Flash: – Dados sobrevivem a falta de energia; – Escrever implica em apagar todo o BD, para se  escrever novamente; – Popular para substituir disco magnético com relação à  pequenos volumes de dados; ● Disco magnético: – Principal meio de armazenamento de dados a longo  prazo; – Move­se os dados do disco para a memória para  serem acessados;

(8)

Principais meios de armazenamento

● Armazenamento ótico: – CD, DVD, e suas variações; – Geralmente usados para backup dos dados de um  BD. ● Armazenamento em Fita: – Muito usado para backup; – Mais barata que os discos, porém acesso mais lento  dos dados; – Acesso sequencial.

(9)
(10)

Discos magnéticos

● Tamanho dos discos cresce anualmente; ● Um BD grande pode exigir centenas de discos; ● São relativamente simples: – Placas; – Trilhas; – Setores; – Cabeça de leitura­escrita;

(11)

Discos magnéticos

● Placa possui forma circular plana, duas superfícies  cobertas com material magnético; ● Cabeça de leitura­escrita fica posicionada acima da  superfície da placa; ● A superfície dos disco é dividida em trilhas: ● Trilhas são subdivididas em setores, que são a menor  unidade de informação do disco;

(12)

Discos magnéticos

● Cada lado da placa de um disco possui uma cabeça de  leitura­escrita; ● Cabeça de leitura­escrita move pela placa para acessar  diferentes trilhas; ● Um disco contém muitas placas:

(13)
(14)

Discos magnéticos

● Cabeças são mantidas mais próximo possível da placa; ● Cabeça flutua alguns micros da superfície do disco; ● Quedas de cabeça podem ser um problema; ● Controladora de disco realiza a interface entre o sistema  de computador e o hardware; ● Realiza check sum;

(15)

Discos magnéticos

● Controladoras também remapeam os setores defeituosos; ● Discos são conectados por meio de uma interconexão de  alta velocidade; ● Diversas interfaces fazem esse papel: – IDE; – ATA, PATA, SATA; – SCSI.

(16)

Discos magnéticos

● Podem estar situados remotamente e ser conectados por  uma rede de alta velocidade à controladora; ● Arquitetura SAN (Storage Area Network); ● RAID; ● Arquitetura NAS (Network Attached Storage)

(17)

Medidas de desempenho

● Principais medidas das qualidades de um disco: – Capacidade; – Tempo de acesso; – Taxa de transferência de dados; – Confiabilidade; ● Tempo de acesso é o tempo desde quando uma  solicitação de leitura ou escrita é emitida até quando  inicia a transferência de dados;

(18)

Medidas de desempenho

● Braço se move de modo que fique posicionado sobre a  trilha correta, e esperar até que o setor apareça sobre ele  enquanto o disco gira, tempo de busca; ● Tempo de busca médio; ● Tempo de busca médio é 1/3 do tempo de busca do pior  caso; ● Variam atualmente entre 4 e 10 milissegundos;

(19)

Medidas de desempenho

● Tempo de latência rotacional; ● Velocidades rotacionais hoje variam entre 5400 rotações  por minuto até 15000 rotações por minuto; ● Metade de uma rotação do disco é necessária para que o  início do setor desejado apareça sob a cabeça; ● Tempo de latência média ­> Metade do tempo para a  rotação completa do disco;

(20)

Medidas de desempenho

● Tempo de acesso = Tempo de busca + Tempo de  Latência, variando então de 8 a 20 milissegundos; ● Taxa de transferência dos dados; ● Sistemas de disco atuais admitem taxa máxima de 25 a  100 mB/s; ● Trilhas mais internas, a taxa é menor;

(21)

Medidas de desempenho

● Tempo médio para a falha (MTTF), medida da  confiabilidade do disco; ● De acordo com fabricantes, o tempo médio para a falha  de um disco varia entre 500.000 a 1.200.000 horas; ● Na prática é um pouco diferente;

(22)

Otimização de acesso ao bloco de 

disco

● Solicitações de E/S especifica o endereço no disco a ser  referenciado; ● Endereço está na forma de número de bloco; ● Bloco ­> Unidade lógica consistindo de um número fixo de  setores contíguos; ● Variam de 512 bytes a alguns Kbytes;

(23)

Otimização de acesso ao bloco de 

disco

● Diversas técnicas para melhorar a velocidade de acesso  aos blocos no disco: – Escalonamento; – Organização de arquivo; – Buffer de escrita não­volátil; – Disco de log.

(24)

Escalonamento

● Solicita blocos na ordem em que eles passarão pela 

cabeça de leitura­escrita;

● Algoritmos de escalonamento de braço do disco; ● Algoritmo do elevador;

(25)

Organização de arquivo

● Organizar blocos de uma maneira que corresponda ao  modo como são acessados; ● Coloca o peso sobre o programador ou administrador do  sistema; ● Com o tempo, um arquivo sequencial pode se fragmentar; ● Alguns sistemas possuem utilitários que podem  desfragmentar o disco, aumentando o desempenho;

(26)

Buffers de escrita não voláteis

● Dados se perdem da memória principal com a falta de  energia; ● Desempenho dependem bastante da velocidade da  escritas no disco; ● NVRAM, usada para agilizar as escritas no disco; ● Controladora escreve na NVRAM, que por sua vez  notifica o sistema sobre a escrita; ● Escreve no disco quando não houver solitações ou  quando o buffer da NVRAM encher;

(27)

Disco de log

● Reduz as latências de escrita; ● Disco dedicado a escrever um log sequencial, quase  eliminando o tempo de busca; ● Sistemas de arquivos journaling; ● Sistemas modernos implementam journaling, utilizando  disco de log para escrever informações internas ao  sistemas de arquivos; ● Sistemas de banco de dados implementam suas próprias  formas de logging;

(28)

RAID

● Array redundante de discos independentes; ● Grande quantidade de discos; ● Melhora na velocidade de leitura e escrita de dados  quando discos operam em paralelo; ● Ganho na confiabilidade e armazemento dos dados; ● Utilizado também por apresentar maior facilidade de  gerenciamento e operações;

(29)

RAID: 

Melhoria da confiabilidade por 

meio da redundância

 

● Grande  probabilidade  de  um  disco  qualquer  em  um 

conjunto falhe;

● Solução: Introduzir a redundância;

● Técnica:  Duplicação  de  cada  disco,  técnica  simples, 

porém dispendiosa!

● Técnica conhecida também em espelhamento, os dados 

são duplicados em discos diferentes, caso haja falha em  um, os dados podem ser lidos a partir do outro disco;

(30)

RAID: 

Melhoria da confiabilidade por 

meio da redundância

 

● Falta de energia elétrica e desastres naturais podem  resultar em danos a dois discos ao mesmo tempo; ● Envelhecimento de discos aumentam a probabilidade de  falha no segundo disco enquanto o primeiro disco ainda é  reparado; ● Mesmo com essas adversidades esse sistema é mais  seguro do que os sistemas de discos únicos;

(31)

RAID: 

Melhoria do desempenho por meio 

do paralelismo

● Melhoria na velocidade de leitura; ● Taxa de transferência de cada leitura é igual à de um  sistema de disco único; ● Melhora da na taxa de transferência por espalhamento no  nível de bit; ● Espalhamento no nível de blocos;

(32)

RAID: 

Melhoria do desempenho por meio 

do paralelismo

● Espelhamento no nível de bloco é a forma mais utilizada  de espalhamento de dados; Principais objetivos para o paralelismo: –  Balancear a carga de vários acessos pequenos; – Realizar grandes acessos em paralelo com o objetivo  de reduzir o tempo de resposta a esses acessos;

(33)

Níveis de RAID

● RAID nível 0: Oferece aos arrays de disco o  espalhamento de blocos, sem qualquer redundância; ● RAID nível 1: Refere­se ao espelhamento de disco com  espalhamento de bloco; ● RAID nível 2: Emprega bits de paridade para detecção e  correção de erros; ● RAID nível 3: Organização com paridade intercalada por  bit;

(34)

Níveis de RAID

● RAID nível 4: Organização de paridade intercalada por  bloco; ● RAID nível 5: Organização de paridade intercalada por  bloco. Neste nível todos os discos podem satisfazer  solicitações de leitura ao contrário do nível 4 em que o  disco de paridade não pode satisfazer solicitações; ● RAID nível 6: Semelhante ao nível 5, armazenando  informações redundantes para proteger contra multiplas  falhas de disco;

(35)
(36)

Escolha do nível de RAID

Fatores  que  devem  ser  considerados  na  escolha  de  um  nivel de RAID:

● Custo monetário dos requisitos extras de armazenamento 

em disco;

● Requisitos  de  desempenho  em  termos  do  número  de 

operações de E/S;

● Desempenho quando um disco tiver falhado; ● Desempenho durante a reconstrução;

(37)

Escolha do nível de RAID

● Nível 0: Usado nas aplicações de alto desempenho onde  a segurança dos dados não é crítica; ● Nível 1: Aplicações com requisitos de armazenamento  moderados e altos requisitos de E/S. Neste nível a  reconstrução é mais rápida; ● Níveis 2 e 4 foram substituídos pelos níveis 3 e 5  respectivamente;

(38)

Escolha do nível de RAID

● Nível 5: Oferece boas taxas de transferência para 

grandes transferências;

● Nível 6: Oferece melhor confiabilidade que o nível 5, 

(39)

Questões de hardware

● RAID de software; RAID de hardware: ● Podem utilizar a RAM não volátil; ● Permite troca a quente – troca de discos sem o  desligamento do sistema; ● Fonte de alimentação pode se tornar um único ponto de  falha. Solução: Fontes de alimentação redundantes;

(40)

Armazenamento terciário

Discos ópticos

(41)

Discos ópticos

● Compact Disk – Distribuição de software, dados de multimidia, etc. – Capacidade de 700 MB – Baixo custo; ● Digital Video Disk – Substituição do CD; – Capacidade variando de 4,7 GB a 17 GB; ● Formatos recentes: – HD­DVD e DVD Blu­ray;

(42)

Discos ópticos

● CD e DVD apresentam tempo de busca muito maiores  (100 milissegundos em média) do que unidades de discos  magnéticos; ● CD e DVD apresentam taxas de transferência menor  quando comparados aos discos magnéticos: – Leitura de CD: de 3 a 6 MB/s – Leitura de DVD: de 8 a 20 MB/s ● Discos ópticos para única escrita apresentam tempo de  vida maior que os discos magnéticos; ● Jukeboxes;

(43)

Fitas magnéticas

● Pode gravar grandes volumes de dados; ● Lentas quando comparadas aos discos magnéticos e  ópticos; ● Limitadas ao acesso sequencial; ● Usadas principalmente para backup; ● É mantida em um spool e é bobinada e rebobinada;

(44)

Fitas magnéticas

● Capacidade: – Variando entre 10 a 330 GB dependendo do tipo de  fita. ● Taxas de transferência de dados são da ordem de até  dezenas de MB/s.  ● Possuem limite no número de vezes que podem ser lidas  ou gravadas no modo seguro; ● Jukeboxes de fita, assim como os jukeboxes ópticos;

(45)

Acesso ao armazenamento

● Bloco: Arquivo particionado em unidades de  armazenamento de tamanho fixo; ● Principal objetivo: Minimizar o número de transferências  de bloco entro o disco e a memória; ● Manter o máximo de blocos possível na memória  principal.

(46)

Gerenciador de Buffer

Programa Gerenciador de Buffer Bloco em memória Bloco no disco Liberar espaço? Requisição de dados Salvar bloco no disco Recuperar bloco para memória Escolher bloco Sim Não

(47)

Políticas de substituição de Buffer

● Minimizar o acesso ao disco; ● Algoritmos de substituição? – LRU (Last Recent Used – Menos usado  recentemente) – Lançar imediatamente – MRU (Most Recent Used – Mais usado recentemente)

(48)

Políticas de substituição de Buffer

●Exemplo:

(49)

Políticas de substituição de Buffer

Credor 1 Credor 1.nome­cliente == Cliente 1.nome­cliente Credor 1.nome­cliente == Cliente 2.nome­cliente Credor 1.nome­cliente == Cliente N.nome­cliente . . . Credor 2 Credor 2.nome­cliente == Cliente 1.nome­cliente Credor 2.nome­cliente == Cliente 2.nome­cliente . . . Credor 2.nome­cliente == Cliente N.nome­cliente

(50)

Políticas de substituição de Buffer

● Evitar remover partes acessadas com mais freqüência: – Dicionário de dados; – Índices de arquivos; ● Adaptar a situações: – Concorrência ● Requisições ativas tem preferencia sobre adiadas.

(51)

Organização de arquivos

● Um arquivo é organizado logicamente como seqüência de 

registros;

(52)

● Exemplo de registro: type depósito = record número_conta char(10); nome_agêcia char(22); saldo numeric(12,2); end

Registros de tamanho fixo

10 bytes 22 bytes 8 bytes

(53)

Registros de tamanho fixo

● Fáceis de implementar; ● Problemas: – Difícil excluir um registro; – Registros em final do bloco podem se dividir em 2  blocos (bloco 512 bytes = 12 registros + 32 bytes livres)

(54)

Registros de tamanho fixo

Trabalho desnecessário movendo registros

(55)
(56)

Registros de tamanho variável

● Podem surgir por causa: – Armazenamento de vários tipos de registro em um  arquivo; – Registros com tamanho variável para um ou mais  campos; – Uso de arrays e multiconjuntos;

(57)

Registros de tamanho variável

● Estrutura de página em slot: – Adicionar cabeçalho no bloco 1. Número de entradas de registro no cabeçalho 2. Final do espaço livre no bloco 3. Array com o local e o tamanho de cada registro  ­ Não é muito oneroso manter o bloco organizado, pois blocos tem o tamanho típico de 4 kilobytes. ­ A maioria dos banco de dados relacionais limitam o tamanho do registro para não ser maior que o tamanho do bloco.

(58)

Organização de registro em arquivos

● Relação é um conjunto de arquivos ● Maneiras de se organizar registros em arquivos: – Organização de arquivos em Heap; ● Qualquer lugar que tenha espaço – Organização seqüencial em arquivos; ● Ordenados de acordo com uma chave­de­busca – Organização de arquivos com Hashing;

(59)

Organização seqüencial de arquivos

● Recuperação, ordenada,  mais rápida (bom pra  visualização); ● Difícil manter ordem  seqüencial física, com  inserção e exclusão;

(60)

Organização seqüencial de arquivo

● Exemplo inserção ­> ● Na falta de espaço no  bloco usa­se o bloco de  estouro; ● Reorganização, no nível  físico, para manter a  eficiência;

(61)

Dicionário de dados

● Armazena dados sobre  as relações, e outra informações: – Nome das relações; – Nome dos atributos das relações; – Domínio e tamanho dos atributos; – Restrições de integridade (restrições de chave) ● O sistema também armazena outros dados, como de  usuários: – Nome dos usuários autorizados; – Informações de autorização; – Senhas e outras informações;

(62)

Dicionário de dados

● O banco de dados também pode armazenar dados  estatísticos: – Numero de tuplas em cada relação; – Método de armazenamento (agrupado ou não  agrupado); ● Informações sobre arquivos: – Se usa um único arquivo, sistema guarda os blocos  que contem registros de cada relação; – Se usa vários arquivos, o nome de cada arquivo usado  para guardar as relações é salvo;

(63)

Dicionário de dados

● Geralmente os dados sobre o banco de dados é 

(64)

Resumo

● Existem  vários  tipos  de  armazenamento  de  dados  na 

maioria  dos  sistemas  de  computador.  Eles  são  classificados  pela  velocidade,  custo  e  confiabilidade.  Entre  os  meios  disponíveis  estão  cache,  memória  principal,  memória  flash,  discos  magnéticos,  discos  ópticos e fitas magnéticas.

(65)

Resumo

● Dois  fatores  determinam  a  confiabilidade  do  meio  de 

armazenamento:  se  uma  falha  de  energia  ou  falha  dos  sistema causa  perda  de  dados  e  qual  é a probabilidade  de falha física do dispositivo de armazenamento.

(66)

Resumo

● Podemos  reduzir  a  probabilidade  de  falha  física  retendo 

várias copias dos dados. Para os discos, podemos usar o  espelhamento.  Ou  então  podemos  usar  métodos  mais  sofisticados com base em RAID. Espalhando dados pelos  discos, esses métodos oferecem altas taxa de vazão em  grandes acessos; introduzindo a redundância nos discos,  eles  melhoram  muito  a  confiabilidade.  Várias  organizações  RAID  diferentes  são  possíveis,  cada  uma  com  diferentes  características  de  custo,  desempenho  e  confiabilidade. RAID nível 1 e RAID nível 5 são os mais  utilizados.

(67)

Resumo

● Uma forma de reduzir a quantidade de acessos ao disco 

é  manter  o  máximo  de  blocos  possível  na  memória  principal. Como não é possível manter todos os blocos na  memória  principal,  precisamos  gerenciar  a  alocação  do  espaço  disponível  na  memória  principal  para  o  armazenamento  de  blocos.  O  buffer  é  quela  parte  da  memória principal disponível para o  armazenamento de  cópias  de  blocos  de  disco.  O  subsistema  responsável  pela  alocação  de  espaço  em  buffer  é  chamado  de 

(68)

Resumo

● Podemos  organizar  um  arquivo  logicamente  como  uma 

seqüencial  de  registros  mapeados  nos  blocos  de  disco.  Uma técnica para mapear o banco e dados em arquivos é  usar vários arquivos e armazenar registros de apenas um  tamanho  fixo  em  qualquer  arquivo.  Uma  alternativa  é  estruturar  os  arquivos  de  modo  que  eles  possam  acomodar  vários  tamanhos  para  os  registros.  O  método  de página em slot é muito usado para lidar com registros  de tamanho variável dentro de um blco de disco.

(69)

Resumo

● Como os dados são transferidos entre o armazenamento 

de disco e a memória principal em unidade de bloco, vale  a pena atribuir registros de arquivos aos blocos de modo  que  um  único  bloco  contenha  registros  que  queremos  com  apenas  uma  cesso  de  bloco,  economizamos  acessos ao disco. Como acessos ao disco normalmente  são o gargalo no desempenho de um sistema de banco  de dados, a atribuição cuidadosa de registros aos blocos  pode render importantes dividendos de desempenho.

(70)

Resumo

● O Dicionário de dados, também conhecido como catálogo 

do  sistema,  registra  metadados,  que  são  dados  sobre  dados,  como  nomes  de  relação,  nomes  e  tipos  de  atributo,  informação  de  armazenamento  restrições  de  integridade e informações de usuário.

(71)

Bibliografia

● Silberchatz, A. ; Korth, H. F. ; Sudarshan, S ­ Sitemas de 

Referências

Documentos relacionados

In-situ (sem escavação) SOLO TRATADO Ex-situ (com escavação) - Biológico - Físico / Químico - Térmico Resíduos não biodegradáveis Controle de Qualidade Biofi ltro Material

 Controladores de dispositivo transferem blocos de dados de um buffer de armazenamento diretamente para a memória principal, sem intervenção da CPU.  Somente uma interrupção

nomenclatura “invertedclassroom” é usada pela primeira vez em uma disciplina de Microeconomia em 1996 na Universidade de Miami/EUA. A “sala de aula invertida”

As partes estabelecem, com vigência a partir do mês de janeiro/2017, um piso salarial a ser pago aos trabalhadores a partir do mês seguinte ao que completarem

10.1 Opcionalmente, os empregados poderão solicitar, junto à empresa, o pagamento da primeira parcela do décimo terceiro salário, até o final do primeiro semestre de cada

potest, est quo maius cogitari potest. Sed certe hoc esse non potest. Existit ergo procul dubio aliquid quo maius cogitari non valet, et in intellectu et in re. Quod utique sic

A memória principal do computador é aquela composta por todos os programas em execução. É muito comum citar apenas a memória RAM como sendo a principal, uma vez que

Se levarmos em conta não apenas essa, mas diversas outras manifestações no formato hipermídidático que se utiliza do software Flash, veremos que estamos testemunhando um