Logo Passei Direto
Buscar

03_armazenamento

Ferramentas de estudo

Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Ramon Gomes Costa, Prof. D.Sc.
Aula Expositiva
Armazenamento de dadosArmazenamento de dados
Banco de Dados II 2
Plano de Curso
 Armazenamento de dados
 Hierarquia de memória e dispositivos
 Paralelizando acesso a disco
 Organizações e níveis de RAID
 Exercícios. 
Banco de Dados II 3
Hierarquia de memória e dispositivos
 A coleção de dados que compõem um banco de dados deve ser armazenada 
fisicamente em algum meio de armazenamento.
 As mídias de armazenamento formam uma hierarquia de armazenamento:
 Armazenamento primário – mídias operadas diretamente pela CPU
 Acesso rápido aos dados
 Capacidade de armazenamento limitada
 Maior custo
 Armazenamento secundário – mídias não removíveis
 Capacidade maior
 Menor custo
 Acesso mais lento aos dados
 Armazenamento terciário – mídias removíveis
 Não processados diretamente pela CPU
Banco de Dados II 4
Hierarquia de memória e dispositivos
Banco de Dados II 5
Hierarquia de memória e dispositivos
 Armazenamento de bancos de dados: 
 Dados persistentes – dados que precisam persistir por longos períodos de tempo;
 Dados transientes – persistem apenas por um tempo limitado, durante a execução de 
um programa.
 A maioria dos Storage Engines de SGBDs armazenam os dados de maneira 
permanente (ou persistentemente). Motivos:
 Bancos de dados muito grandes não cabem inteiramente na memória principal.
 Existência de dispositivos para armazenamento volátil e não-volátil (opção).
 Custo de armazenamento. 
Banco de Dados II 6
Hierarquia de memória e dispositivos
 Por conta destes fatores, SGBDs devem conter diversas opções para organizar os 
dados. 
 O projeto físico envolve a escolha de técnicas para melhor organizar os dados.
 Os dados armazenados no disco são organizados como arquivos de registros.
 Registros devem ser localizados de modo eficiente, através de:
 Organizações de arquivo primário - determinam como os registros são fisicamente 
alocados e acessados. Ex.:
 Heap
 Arquivo sequencial
 Tabelas hash
 Organização secundária (estrutura de acesso auxiliar) – permite o acesso eficiente 
com base em campos alternativos, além das técnicas utilizadas nas organizações de 
arquivo primário. Ex.:
 Índices
Banco de Dados II 7
Hierarquia de memória e dispositivos
 Disco Rígido (Hard Drive – HD)
Características:
- disco magnético
- motor elétrico
- braço mecânico
Banco de Dados II 8
Hierarquia de memória e dispositivos
 Disco Rígido (Hard Drive – HD)
 Dados armazenados em um cilindro podem ser recuperados muito mais rapidamente 
do que se fossem distribuídos entre diferentes cilindros.
 Uma trilha pode ser dividida em blocos de disco (ou páginas) de mesmo tamanho e 
definida pelo sistema operacional durante a formatação do disco (não pode ser trocado 
dinamicamente). Blocos típicos: 0,5KB a 8KB.
 A transferência de dados entre a memória principal e o disco ocorre em unidades de 
blocos de disco.
Banco de Dados II 9
Hierarquia de memória e dispositivos
 Disco Rígido (Hard Drive – HD)
 Tempo de busca: tempo necessário para posicionar mecanicamente a cabeça de 
leitura/gravação na trilha correta.
 Atraso rotacional (latência): tempo para o início do bloco desejado girar até a posição 
sob a cabeça de leitura/gravação.
 Tempo de transferência de bloco: tempo necessário para localizar e transferir um 
bloco.
 Tempo total = busca + latência + transferência de bloco
 Ex.: Tab. 17.1 (Elmasri e Navathe, 2011)
 Cheetah 15K.6
 15000 rpm
 450 GB
 Tempo de busca: ~4ms
 Latência: ~2ms
 Bitrate: ~2.2Mb/s
Banco de Dados II 10
Hierarquia de memória e dispositivos
 Disco Rígido (Hard Drive – HD)
 Busca e latência >>>>> transferência de bloco
 A localização dos dados no disco é um gargalo principal nas aplicações de banco de 
dados.
 Colocar “informações relacionadas” em blocos contíguos é o objetivo básico de 
qualquer organização de armazenamento no disco.
Banco de Dados II 11
Paralelizando acesso a disco
 Contexto:
 Taxa de crescimento (de acordo com Elmasri e Navathe, 2011):
 Capacidade da memória RAM: ~60% ao ano.
 Capacidade dos discos: ~50% ao ano.
 Transferência do disco: ~20% ao ano.
 Tempo de acesso a disco: ~10% ao ano.
 Solução: array de pequenos discos independentes atuando como um único disco 
lógico de maior desempenho.
 Data striping: particionamento dos dados.
 Mirroring (espelhamento): gravação redundante de dados.
 Checksum: usado para possibilitar a reconstrução de informação.
Banco de Dados II 12
Organizações e níveis de RAID
 RAID: Redundant Array of Independent Disks.
 Objetivo: nivelar as diferentes taxas de melhoria de desempenho do disco sobre a 
memória principal.
Banco de Dados II 13
Paralelizando acesso a disco
 RAID: Redundant Array of Independent Disks.
 Data striping: particionamento dos dados.
 Usa o paralelismo para melhorar o desempenho de acesso a disco.
 Distribui transparentemente os dados por vários discos, tornando um disco virtual 
grande e rápido.
 Melhora o desempenho geral de E/S, permitindo que várias E/S sejam atendidas em 
paralelo, oferecendo maior taxa de transferência.
 Utilizado para o balanceamento de carga entre os discos.
Banco de Dados II 14
Organizações e níveis de RAID
 RAID nível 0
 Usa striping de dados: distribui os dados uniformemente entre discos
 Tem um melhor tempo de gravação (atualização em paralelo, não replicadas / non-
redundant)
 Desempenho de leitura pior (sobre RAID nível 1).
Banco de Dados II 15
Paralelizando acesso a disco
 RAID: Redundant Array of Independent Disks.
 Mirroring (Espelhamento): gravação redundante de dados, tratados como único disco 
lógico.
 Vantagens:
 Utilizada para que falhas no disco possam ser toleradas
 Quando um disco falhar, outro é usado até que o primeiro seja reparado
 Aumenta a taxa em que a solicitação de leitura é tratada
 Desvantagens:
 Operações de E/S adicionais para gravação
 Computação extra para manter a redundância dos dados
 Necessidade de discos adicionais
Banco de Dados II 16
Organizações e níveis de RAID
 RAID nível 1
 Usa discos espelhados (mirrored)
 Melhor desempenho de leitura (sobre RAID nível 0)
Banco de Dados II 17
Organizações e níveis de RAID
 RAID nível 2
 Usa detecção e correção de erros (Memory-style ECC)
 Usa código de Hamming
 Obsoleto
Banco de Dados II 18
Paralelizando acesso a disco
 RAID: Redundant Array of Independent Disks.
 Falha em disco: para um array de n discos, a probabilidade de falha é de n vezes.
 mtbf (Mean Time Between Failures): tempo médio entre falhas (chen et al., 1994).
 Seja mtbf = 200.000 h / disco (~ 23 anos), logo: 
se um banco de dados for distribuído por 100 discos, temos mtbf = 2000 h (~ 3 
meses), 
ou seja, manter uma única cópia de dados neste array causará uma perda de 
confiabilidade significativa.
 Checksum: usado para possibilitar a reconstrução da informação perdida no caso de 
falhas no disco, através de técnicas para calcular a informação redundante pelo array de 
disco.
 Paridade
 Código de Hamming
Banco de Dados II 19
Organizações e níveis de RAID
 RAID nível 3
 Usa striping de dados
 Usa um único disco de paridade em nível de bit
 Utiliza o controlador de disco para descobrir qual disco falhou
Banco de Dados II 20
Paralelizando acesso a disco
 RAID: Redundant Array of Independent Disks.
 Correção de erro através da paridade
 suponha três drives com os seguintes blocos:
 (101, 010, 011), 
 calculamos XOR para o quarto drive, logo:
 XOR (101, 010, 011) = 100 → (101, 010,011, 100)
 falhas e correções:
 (101, 010, 011, 100) → XOR (100, 010, 011) = 101
 (101, 010, 011, 100) → XOR (101, 100, 011) = 010
 (101, 010, 011, 100) → XOR (101, 010, 100) = 011
 Obs.: blocos de 512 Bytes = 4096 bits.
 8 KB = 65536 bits 
Banco de Dados II 21
Organizações e níveis de RAID
 RAID nível 4
 Usa striping de dados
 Usa um único disco de paridade em nível de bloco
 Utiliza o controlador de disco para descobrir qual disco falhou
Banco de Dados II 22
Organizações e níveis de RAID
 RAID nível 5
 Striping de dados
 Paridade em nível de bloco, distribuída entre os discos
Banco de Dados II 23
Organizações e níveis de RAID
Banco de Dados II 24
Organizações e níveis de RAID
 Outras organizações e níveis adicionais de RAID
 RAID 0+1
 RAID 1+0
 RAID 5E
 RAID 6
 RAID 6E
 RAID 7, etc.
Banco de Dados II 25
Ramon Gomes Costa, Prof. D.Sc.
ramongomescosta@gmail.com
Armazenamento de dadosArmazenamento de dados
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25

Mais conteúdos dessa disciplina