Bancos de DadosVisão geral
Gerenciamento de Transações
Uma transação é uma unidade lógica de trabalho: um conjunto de leituras e escritas que o SGBD trata como um bloco. Ou o bloco inteiro vale, ou nenhum efeito permanece.
Isolamento, serializabilidade e recuperação deste tópico — e o commit em duas fases nos bancos distribuídos — partem desse bloco.
As páginas se agrupam em quatro blocos. O primeiro abre e fecha a unidade em SQL e lê o que cada nível ANSI garante evitar.
O segundo pergunta se o intercalado equivale a algum serial e impede o ciclo em curso.
O terceiro pergunta o que o disco ainda tem depois da queda e o que o reinício desfaz ou refaz.
O quarto serializa por conflito sem esperar lock: abortar, validar no fim, ou travar descendo uma árvore.
Leitura suja, não repetível e fantasma pelos níveis ANSI estão em Transações em SQL. A mesma leitura suja como valor ainda abortável — recuperável, ACA ou estrito — está em Recuperação após Falha.
O nível SERIALIZABLE pede efeito de alguma ordem serial: isso está em Transações em SQL. Grafo acíclico, instante do último lock e 2PL básico, estrito ou rigoroso estão em Controle de Concorrência.
Wait-die e wound-wait comparam o timestamp de início para decidir quem espera o lock: isso está em Controle de Concorrência. Ler se ts ≥ w_ts e escrever se e só se ts ≥ r_ts e ts ≥ w_ts está em Controle de Concorrência Avançado.
Esperar o lock incompatível (2PL) está em Controle de Concorrência. Abortar e recomeçar com ts novo, validar conjuntos de leitura e escrita no COMMIT, ou travar pai-então-filho e liberar cedo está em Controle de Concorrência Avançado.
Páginas deste tópico
Transações em SQL
ProAlta incidência no POSCOMP14 min de leitura · 6ª mais cobrada em Bancos de Dados
BEGIN/COMMIT/ROLLBACK; ACID; quatro níveis ANSI e anomalias; SI ≠ SERIALIZABLE; Venn serial/serializável/recuperável.
Controle de Concorrência
ProAlta incidência no POSCOMP26 min de leitura · 3ª mais cobrada em Bancos de Dados
Grafo de conflito; 2PL vs estrito vs rigoroso; detecção = ciclo wait-for; wait-die / wound-wait / no-wait / timeout.
Recuperação após Falha
ProAlta incidência no POSCOMP20 min de leitura · 4ª mais cobrada em Bancos de Dados
Leitura suja e cascata; recuperável ≠ ACA ≠ estrito; steal/force ⇒ UNDO/REDO; ARIES análise/redo/undo + CLR.
Controle de Concorrência Avançado
ProMédia incidência no POSCOMP15 min de leitura · 22ª mais cobrada em Bancos de Dados
TO: lê se ts≥w_ts, escreve iff ts≥r_ts e ts≥w_ts; Thomas opcional; validação em 3 fases; tree ≠ intenção.