No contexto de sistemas de banco de dados relacionais, muit...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D - Protocolo com base em Bloqueios (Lock).
O controle de concorrência é um aspecto crucial no design de sistemas de banco de dados relacionais, pois permite que múltiplas transações acessem e modifiquem o banco de dados de maneira controlada, evitando inconsistências e garantindo a integridade dos dados. A propriedade da serialização é fundamental nesse contexto, pois ela garante que, mesmo com várias transações sendo executadas concorrentemente, o resultado final será o mesmo que seria obtido se as transações fossem executadas sequencialmente, uma após a outra.
O protocolo de bloqueios, também conhecido como locking, é um método utilizado para garantir que apenas uma transação por vez possa acessar um determinado item de dados para modificação. Este método funciona através do estabelecimento de bloqueios, que podem ser compartilhados (leitura) ou exclusivos (escrita). Quando uma transação deseja ler um item de dados, ela solicita um bloqueio compartilhado, que permite que outras transações também leiam o mesmo item simultaneamente. No entanto, se uma transação deseja modificar um item de dados, ela deve solicitar um bloqueio exclusivo, que impede qualquer outra transação de ler ou escrever neste item até que o bloqueio seja liberado.
Esse protocolo é eficaz na prevenção de problemas clássicos de concorrência, como as condições de corrida e os problemas conhecidos como lost update, dirty read, non-repeatable read, e phantom read.
Com base no que foi exposto, a justificativa para a alternativa correta ser a D é que o protocolo de bloqueios é exatamente o mecanismo que impõe acesso mutuamente exclusivo aos itens de dados. Quando uma transação detém um bloqueio exclusivo em um item de dados, nenhuma outra transação pode modificar esse item até que o bloqueio seja liberado. Isso permite que o banco de dados mantenha a consistência e integridade dos dados mesmo com múltiplas transações ocorrendo simultaneamente.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Técnicas de controle de concorrência
Bloqueio: sincroniza o acesso por transações concorrentes aos itens do banco de dados.
Ordenação por rótulo de tempo (timestemp): é um identificador exclusivo criado pelo SGBD para identificar uma transação.
Multiversão: mantém os valores antigos de um item de dados quando este é atualizado.
Otimista: nenhuma verificação é feita enquanto a transação está executando. As atualizações não são aplicadas diretamente aos itens do banco de dados até que a transação alcance seu final.
Alternativa: D
d-
Lock-based protocols are a common method used to ensure serializability in database systems, meaning that concurrent transactions behave as if they were executed serially (one after another), even when they're actually executed concurrently. This helps avoid issues such as inconsistent reads or lost updates that can arise when multiple transactions interact with the same data simultaneously.
In this type of protocol, any transaction cannot read or write data until it acquires an appropriate lock on it.
https://www.javatpoint.com/dbms-lock-based-protocol
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo