← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

No processamento de transações distribuídas em gerenciadores de bancos de dados, o algoritmo frequentemente empregado para garantir que todos os participantes de uma transação distribuída tenham conhecimento do seu desfecho é conhecido como:

Gabarito: E

Em transações distribuídas, voce precisa garantir que todos os bancos participantes cheguem ao mesmo desfecho: ou todos confirmam a operação, ou todos desfecham o que fizeram. Isso evita a situação bizarra de um nó achar que deu tudo certo enquanto outro continua preso esperando uma decisão que nunca chega. O algoritmo clássico para isso é o Two-phase commit, ou protocolo de duas fases. Na primeira fase, o coordenador pergunta aos participantes se eles conseguem confirmar; na segunda, depois de receber as respostas, ele manda a decisão final de commit ou abort para todos. Assim, todos ficam sabendo o resultado da transação de forma coordenada. A ideia central da questão é justamente essa: em ambiente distribuído, nao basta executar a transação, é preciso também coordenar o desfecho entre os participantes. O two-phase commit é o mecanismo mais cobrado em Banco de Dados para garantir consistência na decisão final. Na prática, esse protocolo aparece como conteúdo de doutrina de sistemas de bancos de dados e transações distribuídas, e é o nome consagrado na literatura técnica. Por isso, o gabarito E está correto: ele identifica o algoritmo tradicional usado para assegurar que todos os envolvidos conheçam o desfecho da transação.

Continue treinando

Questões relacionadas