Componentes do SGBD e a propriedade ACID de Durabilidade
Gabarito: letra D. A durabilidade (D do ACID) é garantida pelo sistema de recuperação (recovery system) em conjunto com o log de transações. Esse componente persiste as alterações confirmadas (após o commit) em disco, permitindo que, mesmo em caso de falha, o banco de dados seja restaurado ao estado correto.
A banca explora o conhecimento das responsabilidades de cada módulo do SGBD. Vamos analisar cada alternativa:
Componente do SGBD | Função Principal | Propriedade ACID Garantida | Responsável pela Durabilidade? |
|---|
Gerenciador de transações (transaction manager) | Coordena início, execução, commit e abort das transações | Atomicidade (A) | ❌ Não |
Gerenciador de bloqueios (lock manager) | Gerencia bloqueios para acesso concorrente | Isolamento (I) | ❌ Não |
Otimizador de consultas (query optimizer) | Escolhe plano de execução eficiente para consultas SQL | Nenhuma diretamente | ❌ Não |
Sistema de recuperação (recovery system) e log de transações | Persiste alterações confirmadas em disco; usa log (WAL) para REDO após falhas | Durabilidade (D) | ✅ Sim |
Sistema de controle de concorrência (concurrency control) | Gerencia acesso simultâneo entre transações | Isolamento (I) | ❌ Não |
Alternativa A — ❌ Incorreta
O gerenciador de transações (transaction manager) coordena o início, execução e término das transações (incluindo commit e abort), mas não é o responsável direto pela persistência física dos dados. Ele depende do sistema de recuperação para efetivar a durabilidade.
Alternativa B — ❌ Incorreta
O gerenciador de bloqueios (lock manager) implementa o controle de concorrência, garantindo a propriedade de isolamento (I do ACID), não a durabilidade.
Alternativa C — ❌ Incorreta
O otimizador de consultas (query optimizer) tem a função de escolher o plano de execução mais eficiente para uma consulta SQL. Não atua na persistência ou recuperação dos dados.
Alternativa D — ✅ Correta ⟵ GABARITO
O sistema de recuperação (recovery system) e o log de transações são os componentes que, de fato, asseguram a durabilidade. O log registra todas as alterações antes de serem persistidas (WAL – Write-Ahead Logging). Após um commit, as alterações são garantidas mesmo que ocorra uma falha imediatamente depois, pois o log pode ser usado para refazer (REDO) as operações da transação comprometida.
Conforme questões clássicas (ex.: FCC 2017 – DPE-RS, FCC 2018 – DPE-AM), a durabilidade é definida exatamente como a persistência das alterações mesmo após falhas do sistema, e o mecanismo típico para isso é o log e o sistema de recuperação.
Alternativa E — ❌ Incorreta
O sistema de controle de concorrência (concurrency control) gerencia o acesso simultâneo às transações, garantindo isolamento (I do ACID). Não lida com a persistência.
Gabarito: letra D – Sistema de recuperação (recovery system) e log de transações.