Pular para o conteúdo

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.

6
módulos
26
tópicos
55
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.