Considere a propriedade de Isolamento das transações ACID nos sistemas gerenciadores de bancos de dados. Um mecanismo usualmente empregado para garantir a integridade dos dados em operações concorrentes atua por meio de operações de:
- A)Cache;
Cache melhora desempenho de acesso aos dados, mas não é o mecanismo típico de isolamento entre transações concorrentes.
- B)Commit;
Commit encerra e torna permanentes as alterações, mas não controla sozinho a concorrência durante a execução.
- C)Lock;
Correta: locks são usados para coordenar acessos concorrentes e preservar a integridade dos dados durante transações simultâneas.
- D)Logging;
Logging é ligado à recuperação e à restauração do banco após falhas, não ao controle de isolamento.
- E)SyncPoint.
SyncPoint não é o mecanismo usual empregado para garantir isolamento em operações concorrentes nos SGBDs.
Gabarito: C
O isolamento é a parte do ACID que impede que uma transação “esbarre” na outra de forma desordenada. A ideia é simples: mesmo com várias operações acontecendo ao mesmo tempo, o banco precisa evitar leituras sujas, atualizações perdidas e outras confusões típicas de fila de banco em dia de promoção. Para isso, os SGBDs usam mecanismos de controle de concorrência. O mais clássico é o uso de locks, isto é, travas que bloqueiam ou coordenam o acesso a dados enquanto uma transação está trabalhando neles. Assim, duas transações não alteram o mesmo registro ao mesmo tempo de modo inseguro. Por isso, a alternativa correta é Lock. Em termos doutrinários, isso se relaciona ao controle de concorrência e à serializabilidade, que procuram fazer com que o resultado da execução concorrente seja equivalente a alguma execução em série, preservando a integridade dos dados. As outras opções até aparecem em banco de dados, mas tratam de outras funções: commit finaliza transação, logging ajuda na recuperação, cache melhora desempenho e sync point não é o mecanismo usual para garantir isolamento concorrente.