Uma base de dados relacional experimenta problemas de concorrência onde duas ou mais transações tentam acessar e modificar os mesmos dados simultaneamente, resultando em resultados inconsistentes. Considerando os mecanismos padrão de controle de concorrência, qual técnica é projetada para prevenir o problema de leituras sujas (dirty reads), garantindo que uma transação só leia dados que foram COMMITados por outra?
- A)Timestamp Ordering, que atribui um timestamp único a cada transação para ordenar as operações.
- B)Múltiplas versões de dados (Multiversion Concurrency Control - MVCC), permitindo que diferentes transações vejam diferentes versões dos dados.
- C)Bloqueio Binário (Binary Locking), que permite apenas um acesso exclusivo aos dados por vez.
- D)Bloqueio Compartilhado (Shared Lock) para leituras e Bloqueio Exclusivo (Exclusive Lock) para escritas, liberando os bloqueios somente após o COMMIT ou ROLLBACK da transação.gabarito
- E)Serializability Graph, que verifica se o agendamento das transações é equivalente a alguma execução serial.