Armazenamento Físico, Registros e Páginas - Aula 04/11 - Bancos de Dados 2020.2
Introdução ao Curso de Bancos de Dados
Apresentação do Instrutor e Objetivos da Aula
- O instrutor André introduz o curso de bancos de dados na Unicamp, destacando a evolução dos conceitos abordados, desde os mais abstratos até os mais concretos.
- A aula foca em como os bancos de dados armazenam fisicamente os dados e realizam a indexação. É recomendado que os alunos assistam às aulas anteriores para melhor compreensão.
Estrutura do Curso e Questões Fundamentais
- André menciona três questões centrais na arquitetura de SGBD: definição dos dados, comunicação entre aplicação e banco, e armazenamento dos dados. Hoje, ele se concentrará nas duas primeiras questões.
- A aula aborda a transição do modelo conceitual para o modelo lógico e finalmente para o modelo físico, que é crucial para entender como as informações são guardadas no banco de dados.
Dispositivos de Armazenamento
Tipos de Dispositivos Utilizados
- André questiona onde os dados podem ser armazenados, mencionando dispositivos como memória RAM, discos rígidos (HD), CDs/DVDs, fitas magnéticas e SSDs. Cada um tem suas características específicas em termos de velocidade e eficiência.
- Ele destaca que a fita magnética é uma tecnologia antiga usada principalmente para backup, enquanto SSD é uma forma moderna que oferece maior rapidez na gravação dos dados.
Vantagens e Desvantagens dos Dispositivos
- A memória RAM é rápida mas cara; ideal para pequenas quantidades ou dados temporários devido à sua volatilidade (dados perdidos quando desligado).
- O disco magnético é mais barato que a RAM e adequado para grandes volumes de dados persistentes; no entanto, sua velocidade é inferior à da RAM.
- A fita magnética é a opção mais econômica por quantidade armazenada mas lenta; utilizada principalmente para backups ou armazenamento sequencial.
Hierarquia de Armazenamento
Classificação do Armazenamento
- André explica a hierarquia entre armazenamento primário (memória RAM/cache) operado diretamente pela CPU e armazenamento secundário (discos/fitas), que são mais lentos e intermediados pelo primário.
Estrutura e Funcionamento de Discos Rígidos
Componentes Básicos do Disco
- O disco rígido possui uma parte metálica onde os dados são armazenados, além de um cabeçote que se move para ler e gravar informações.
- O cabeçote opera a uma distância mínima do disco, o que é crucial para a eficiência da leitura e gravação dos dados.
Organização dos Dados no Disco
- Os dados são organizados em unidades magnéticas chamadas trilhas, que são ciclos concêntricos na superfície do disco.
- As trilhas são divididas em setores, que representam a menor unidade de leitura ou gravação. Cada setor deve ter separação suficiente para evitar interferência magnética.
Leitura e Gravação Eficiente
- O cabeçote lê ou grava um stream inteiro de bits por vez, ao invés de apenas um bit individualmente, aumentando a eficiência do processo.
- Um disco não pode ler ou gravar apenas um bit; ele sempre opera em setores inteiros, também chamados de blocos físicos.
Mapeamento entre Blocos Físicos e Páginas
- Os blocos físicos estão relacionados às páginas de memória alocadas pelo sistema operacional para gerenciar a transferência de dados.
- A página é uma unidade utilizada pelo sistema operacional para transferir dados entre memória e discos. Tamanhos podem variar entre páginas e blocos físicos.
Processo de Leitura no Sistema Operacional
- Quando um registro é solicitado (por exemplo, uma variável), o sistema não acessa diretamente o disco; ele puxa o bloco correspondente para um buffer na memória.
Funcionamento do Buffer e Gravação de Dados
Mapeamento de Dados para Memória
- O processo de leitura envolve puxar um bloco do disco para um buffer intermediário antes de mapear os dados solicitados para a memória.
- O buffer pode ser imaginado como uma página, onde o setor inteiro é carregado antes de ser transferido para a memória específica.
Processo de Gravação
- Ao gravar um dado (ex: "grava x"), não se grava apenas o valor específico, mas sim o bloco inteiro que contém esse dado.
- Isso ocorre porque, ao alterar "x", outros dados no mesmo bloco também precisam ser acessados e mantidos na memória.
Controle da Leitura e Gravação
- A leitura da página pode ser otimizada pelo sistema operacional, que verifica se a página já está na memória antes de realizar uma nova leitura.