Trilha de estudo
Trilha Internals de Bancos de Dados: tudo o que estudar, tópico por tópico
Avaliação aprofundada dos internals de mecanismos de armazenamento de bancos de dados, baseada no livro Database Internals de Alex Petrov: layout de páginas e formatos de arquivo, estruturas B-Tree e B+Tree, LSM-trees e armazenamento imutável, gerenciamento de buffer e recuperação, processamento de transações e controle de concorrência, além de primitivas centrais de armazenamento distribuído.
Resposta curta
Para aprender Internals de Bancos de Dados, percorra 6 módulos e 26 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos de Armazenamento e siga para Família B-Tree e LSM e Armazenamento Imutável. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos de Armazenamento4 tópicos
Arquitetura do Mecanismo de Armazenamento
O papel de um mecanismo de armazenamento dentro de um SGBD, a separação entre armazenamento e processamento de consultas, e a distinção fundamental entre mecanismos de atualização in-place (B-Tree) e append-only (LSM)
Objetivos
- Explicar o que um mecanismo de armazenamento faz e como ele se encaixa em um SGBD
- Contrastar mecanismos de atualização in-place com mecanismos append-only
Conceitos-chave
- mecanismo de armazenamento
- atualização in-place vs append-only
- orientação a linhas vs colunas
- em memória vs em disco
- otimizado para leitura vs escrita
Layout de Páginas e Blocos de Disco
Como os registros são organizados em páginas de tamanho fixo alinhadas a blocos de disco, cabeçalhos de página, registros de tamanho fixo vs variável e por que a página é a unidade fundamental de E/S
Objetivos
- Descrever como os registros são empacotados em páginas e alinhados a blocos
- Explicar por que a página é a unidade de E/S em mecanismos em disco
Conceitos-chave
- página
- alinhamento de bloco de disco
- cabeçalho de página
- registros de tamanho fixo vs variável
- unidade de E/S
Páginas com Slots
A organização de página com slots que armazena um diretório de slots com offsets no início da página e células de tamanho variável crescendo a partir do fim, permitindo exclusões, atualizações e compactação in-place
Objetivos
- Explicar como uma página com slots suporta registros de tamanho variável
- Descrever como exclusões e atualizações criam e recuperam espaço livre em uma página
Conceitos-chave
- diretório de slots
- offsets de células
- células de tamanho variável
- fragmentação interna da página
- compactação de página
Formatos de Arquivo em Disco
Como os arquivos de banco de dados codificam células, chaves, valores e ponteiros; codificação binária, ordem de bytes, números mágicos, versionamento e checksums que tornam um formato legível e durável
Objetivos
- Descrever os componentes de um formato de arquivo de banco de dados em disco
- Explicar como checksums e versionamento protegem a integridade do arquivo
Conceitos-chave
- codificação binária
- formato de célula
- checksums
- números mágicos
- versionamento de formato
2 · Família B-Tree5 tópicos
Fundamentos de B-Tree
A árvore de busca balanceada e de alto fan-out no coração da maioria dos bancos de dados: invariantes de ocupação, altura logarítmica, por que o alto fan-out minimiza buscas em disco e a busca de chaves dentro de um nó
Objetivos
- Explicar por que B-Trees usam alto fan-out para reduzir E/S em disco
- Descrever as invariantes de balanceamento e ocupação de uma B-Tree
Conceitos-chave
- árvore balanceada
- alto fan-out
- fator de ramificação
- altura logarítmica
- invariante de ocupação
Estrutura B+Tree
A variante B+Tree que armazena valores apenas nas folhas e encadeia as folhas em uma cadeia sequencial, otimizando varreduras de intervalo e separando chaves de roteamento nos nós internos dos dados nos nós folha
Objetivos
- Contrastar uma B+Tree com uma B-Tree clássica
- Explicar como o encadeamento de folhas acelera varreduras de intervalo
Conceitos-chave
- valores apenas nas folhas
- ponteiros entre folhas irmãs
- chaves separadoras
- otimização de varredura de intervalo
- nós internos vs folha
Divisão, Fusão e Rebalanceamento de Nós
Como B-Trees permanecem balanceadas em inserções e exclusões: dividir nós cheios e propagar o separador para cima, fundir ou rebalancear nós subocupados, e o custo das modificações estruturais
Objetivos
- Percorrer uma divisão de nó e a promoção de uma chave separadora
- Explicar quando ocorrem fusões e rebalanceamentos em exclusões
Conceitos-chave
- divisão de nó
- promoção de separador
- fusão de nó
- rebalanceamento
- anexações apenas à direita
Variantes e Otimizações de B-Tree
Otimizações práticas de B-Tree: B-Trees copy-on-write, B-Trees lazy e escritas adiadas, Bw-Trees com cadeias de delta, ponteiros entre irmãos (B-link trees) e ideias de cascading fracionado
Objetivos
- Comparar estratégias de atualização copy-on-write e in-place de B-Tree
- Explicar como Bw-Trees e B-link trees reduzem a sobrecarga de escrita ou de bloqueio
Conceitos-chave
- B-Tree copy-on-write
- B-Tree lazy
- cadeias de delta da Bw-Tree
- ponteiros entre irmãos da B-link tree
- escritas adiadas
Índices Clusterizados e Secundários
Como os índices mapeiam chaves para dados: índices clusterizados (primários) que armazenam linhas em ordem de chave vs índices secundários não clusterizados que armazenam referências, e o custo de manter múltiplos índices
Objetivos
- Distinguir índices clusterizados de índices secundários não clusterizados
- Raciocinar sobre o custo de escrita de manter múltiplos índices secundários
Conceitos-chave
- índice clusterizado
- índice secundário não clusterizado
- tabela organizada por índice
- índice de cobertura
- custo de manutenção de índice
3 · LSM e Armazenamento Imutável6 tópicos
Arquitetura LSM-Tree
A log-structured merge-tree: bufferizar escritas em memória, descarregar runs ordenados imutáveis para o disco e mesclá-los em segundo plano para trocar custo de leitura por throughput de escrita
Objetivos
- Explicar os caminhos de leitura e escrita da LSM-tree
- Contrastar LSM-trees com B-Trees em throughput de escrita e custo de leitura
Conceitos-chave
- log-structured merge-tree
- runs ordenados imutáveis
- buffer em memória
- mesclagem em segundo plano
- estrutura otimizada para escrita
Memtables
A estrutura ordenada em memória (frequentemente uma skip list ou árvore balanceada) que absorve escritas antes de serem descarregadas para uma SSTable, o ciclo de vida de memtable ativa/em descarga e seu pareamento com o WAL
Objetivos
- Descrever o ciclo de vida da memtable da fase ativa até a descarga
- Explicar por que uma memtable é pareada com um write-ahead log
Conceitos-chave
- estrutura ordenada em memória
- skip list
- memtable ativa vs em descarga
- limite de descarga
- pareamento de memtable com WAL
SSTables
Sorted String Tables: arquivos imutáveis em disco com pares chave-valor ordenados, com uma seção de blocos de dados, índice esparso e rodapé, permitindo buscas e mesclagens eficientes entre runs
Objetivos
- Descrever o layout em disco de uma SSTable
- Explicar como tombstones representam exclusões em um arquivo imutável
Conceitos-chave
- sorted string table
- imutabilidade
- bloco de índice esparso
- blocos de dados
- tombstones
Estratégias de Compactação
Mesclagem em segundo plano de SSTables para recuperar espaço e limitar o custo de leitura: compactação size-tiered vs leveled, seus trade-offs de amplificação de escrita/espaço e coleta de lixo de tombstones
Objetivos
- Comparar estratégias de compactação size-tiered e leveled
- Explicar como a compactação recupera espaço excluído via tombstones
Conceitos-chave
- compactação size-tiered
- compactação leveled
- coleta de lixo de tombstones
- mesclagem de runs ordenados
- gatilho de compactação
Filtros de Bloom
Filtros probabilísticos de pertinência usados para pular SSTables que não podem conter uma chave: como múltiplas funções de hash ativam bits, o significado de falsos positivos e o dimensionamento para uma taxa-alvo de falsos positivos
Objetivos
- Explicar como um filtro de Bloom evita leituras desnecessárias de SSTable
- Raciocinar sobre o trade-off entre tamanho do filtro de Bloom e taxa de falsos positivos
Conceitos-chave
- pertinência probabilística
- funções de hash
- taxa de falsos positivos
- sem falsos negativos
- dimensionamento do array de bits
Amplificação de Leitura, Escrita e Espaço
Os três fatores de amplificação que governam os trade-offs do mecanismo de armazenamento e a conjectura RUM: como B-Trees e variantes de LSM se posicionam em pontos diferentes da superfície leitura/escrita/espaço
Objetivos
- Definir amplificação de leitura, escrita e espaço com exemplos
- Posicionar mecanismos B-Tree e LSM na superfície de trade-off de amplificação
Conceitos-chave
- amplificação de leitura
- amplificação de escrita
- amplificação de espaço
- conjectura RUM
- superfície de trade-off do mecanismo
4 · Gerenciamento de Buffer e Recuperação4 tópicos
Gerenciamento do Buffer Pool
O cache em memória de páginas que media todo acesso ao disco: tabelas de páginas, fixação (pinning) e contagens de referência, rastreamento de páginas sujas e o latching que mantém o acesso concorrente seguro
Objetivos
- Descrever como um buffer pool faz cache e rastreia páginas
- Explicar por que páginas são fixadas e como páginas sujas são descarregadas
Conceitos-chave
- buffer pool
- tabela de páginas
- pinning e contagem de pins
- páginas sujas
- latching
Políticas de Despejo de Páginas
Escolher qual página despejar quando o buffer pool está cheio: LRU e seus problemas de resistência a varreduras, CLOCK/segunda chance, variantes LRU-K e LFU, e interações com prefetching
Objetivos
- Comparar políticas de despejo LRU, CLOCK e LRU-K
- Explicar como uma varredura sequencial pode poluir um buffer pool LRU
Conceitos-chave
- LRU
- CLOCK / segunda chance
- LRU-K
- resistência a varreduras
- prefetching
Write-Ahead Logging
O mecanismo de durabilidade que registra mudanças em um log sequencial antes de aplicá-las às páginas: a invariante do WAL, registros de log e LSNs, políticas de steal/force e group commit
Objetivos
- Enunciar a invariante do write-ahead logging e por que ela garante durabilidade
- Explicar como as políticas de steal/no-force interagem com o log
Conceitos-chave
- write-ahead log
- log sequence number (LSN)
- invariante do WAL
- políticas de steal e force
- group commit
Recuperação ARIES
O algoritmo de recuperação de falhas ARIES e suas três fases — análise, redo e undo — com repetição da história, registros de log de compensação, checkpoints e a tabela de páginas sujas
Objetivos
- Percorrer as três fases da recuperação ARIES após uma falha
- Explicar como os registros de log de compensação tornam o undo idempotente
Conceitos-chave
- fases de análise, redo e undo
- repetição da história
- registros de log de compensação
- checkpoints
- tabela de páginas sujas
5 · Transações e Concorrência4 tópicos
Processamento de Transações e ACID
O que uma transação garante e como um mecanismo de armazenamento implementa ACID: atomicidade via logging, consistência, isolamento via controle de concorrência e durabilidade via WAL e fsync
Objetivos
- Mapear cada propriedade ACID para o seu mecanismo de implementação
- Explicar como um gerenciador de transações coordena commit e abort
Conceitos-chave
- propriedades ACID
- atomicidade via undo/redo
- durabilidade via fsync
- gerenciador de transações
- commit e abort
Níveis de Isolamento e Anomalias
Os níveis de isolamento do SQL e as anomalias de leitura/escrita que eles permitem: leituras sujas, leituras não repetíveis, phantoms, write skew e a diferença entre serializabilidade e isolamento de snapshot
Objetivos
- Mapear níveis de isolamento para as anomalias que eles previnem
- Explicar por que o isolamento de snapshot ainda permite write skew
Conceitos-chave
- read committed
- repeatable read
- serializable
- isolamento de snapshot
- write skew e phantoms
Bloqueio e Bloqueio em Duas Fases
Controle de concorrência pessimista com bloqueios: modos de bloqueio compartilhado/exclusivo, bloqueio em duas fases e 2PL estrito para serializabilidade, granularidade de bloqueio, detecção de deadlock e escalonamento de bloqueio
Objetivos
- Explicar como o bloqueio em duas fases estrito produz escalonamentos serializáveis
- Descrever como deadlocks são detectados e resolvidos
Conceitos-chave
- bloqueios compartilhados vs exclusivos
- bloqueio em duas fases
- 2PL estrito
- detecção de deadlock
- granularidade e escalonamento de bloqueio
Controle de Concorrência Multiversão
MVCC: manter múltiplas versões de cada linha para que leitores nunca bloqueiem escritores, visibilidade de versões via timestamps/snapshots de transação, coleta de lixo de versões antigas e validação otimista
Objetivos
- Explicar como o MVCC permite que leitores prossigam sem bloquear escritores
- Descrever visibilidade de versões e coleta de lixo em um mecanismo MVCC
Conceitos-chave
- múltiplas versões de linha
- visibilidade de snapshot
- leitores não bloqueiam escritores
- coleta de lixo de versões
- controle de concorrência otimista
6 · Armazenamento Distribuído3 tópicos
Detecção de Falhas
Detectar falhas de nós em um armazenamento distribuído: heartbeats e timeouts, a impossibilidade de distinguir perfeitamente lento de morto, detectores phi-accrual e disseminação baseada em gossip
Objetivos
- Explicar por que a detecção perfeita de falhas é impossível em redes assíncronas
- Descrever como phi-accrual e gossip melhoram a detecção de falhas
Conceitos-chave
- heartbeats e timeouts
- detector de falhas phi-accrual
- disseminação por gossip
- suspeita falsa
- completude vs precisão
Replicação e Anti-Entropia
Manter cópias de dados consistentes: replicação baseada em líder vs sem líder, propagação síncrona vs assíncrona, quóruns de leitura/escrita e anti-entropia via árvores de Merkle e read repair
Objetivos
- Comparar modelos de replicação baseada em líder e sem líder
- Explicar como quóruns e anti-entropia mantêm réplicas consistentes
Conceitos-chave
- replicação baseada em líder vs sem líder
- síncrona vs assíncrona
- quóruns de leitura/escrita
- anti-entropia
- árvores de Merkle e read repair
Fundamentos de Consenso
Concordar sobre um único valor ou ordem de log entre nós apesar de falhas: as metas de segurança/vivacidade do consenso, as ideias centrais do Paxos e como o Raft estrutura eleição de líder e replicação de log
Objetivos
- Explicar as metas de segurança e vivacidade do consenso distribuído
- Descrever como o Raft separa eleição de líder da replicação de log
Conceitos-chave
- segurança e vivacidade do consenso
- fundamentos do Paxos
- eleição de líder do Raft
- replicação de log
- maiorias de quórum
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Internals de Bancos de Dados?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Internals de Bancos de Dados?
Comece por Fundamentos de Armazenamento: Arquitetura do Mecanismo de Armazenamento, Layout de Páginas e Blocos de Disco e Páginas com Slots. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Internals de Bancos de Dados?
Uma avaliação completa desta trilha leva cerca de 55 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.