No contexto de processamento de transações em sistemas de bancos de dados relacionais, definimos uma escala (ou schedule) concorrente a uma execução intercalada das operações (ou instruções) das transações envolvidas na escala. Da mesma maneira, uma execução serial é aquela na qual todas as operações de uma transação são realizadas, sem alternância com operações de outras transações. O processo se repete até que todas as transações da escala tenham sido completadas. Ainda, uma escala é dita serializável se o resultado de sua execução produz o mesmo resultado de alguma execução serial (execução na qual todas as operações de uma transação são realizadas) das transações envolvidas. Dados os conceitos anteriormente apresentados, e considerando-se as propriedades ACID de transações, assinale a opção indica a propriedade ACID que guarda relação direta com o conceito de escalas concorrentes serializáveis.
- A)Atomicidade.
Errada, porque atomicidade garante que a transação seja completa ou desfeita por inteiro, não a equivalência entre execuções concorrentes e seriais.
- B)Consistência.
Errada, porque consistência trata de preservar as regras e restrições do banco, e não do controle de concorrência entre transações.
- C)Corretude.
Errada, porque corretude não é uma das propriedades do ACID e não é a resposta técnica cobrada para serialização.
- D)Durabilidade.
Errada, porque durabilidade assegura que o que foi confirmado permanece salvo, sem relação direta com o problema de escalas concorrentes serializáveis.
- E)Isolamento.
Certa, porque isolamento é a propriedade que garante que transações concorrentes se comportem como se fossem executadas serialmente.
Gabarito: E
Quando falamos de transações em banco de dados, a ideia é que várias operações possam acontecer ao mesmo tempo sem virar bagunça. Por isso existe o conceito de escala concorrente: as instruções de transações diferentes são intercaladas. O ponto central é garantir que, mesmo com essa mistura de operações, o resultado final seja equivalente ao de uma execução serial, isto é, uma transação de cada vez. Esse é exatamente o coração da propriedade de Isolamento, ou Isolation, do ACID. Ela exige que uma transação não enxergue efeitos parciais de outra e que a concorrência não comprometa o resultado lógico do sistema. Em outras palavras: pode até haver concorrência, mas o efeito prático deve parecer que cada transação rodou sozinha. É a velha promessa do banco de dados: muita gente usando ao mesmo tempo, sem todo mundo mexer no mesmo bolo de cobertura. A noção de serializabilidade entra justamente aqui. Uma escala concorrente é serializável quando produz o mesmo resultado de alguma execução serial. Isso é uma forma de materializar o Isolamento na prática, pois o sistema precisa controlar a execução concorrente para preservar essa equivalência. Por isso, o gabarito é a letra E. Entre as propriedades ACID, a que se relaciona diretamente com escalas concorrentes serializáveis é o Isolamento, porque ele trata da separação lógica entre transações em execução simultânea. As demais propriedades têm outro foco: atomicidade cuida de tudo ou nada, consistência de manter as regras do banco e durabilidade de manter o que foi confirmado.