SóProvas


ID
2490766
Banca
FGV
Órgão
IBGE
Ano
2017
Provas
Disciplina
Banco de Dados
Assuntos

Em relação à gerencia de transações em bancos de dados distribuídos, analise as afirmativas abaixo:


I. O protocolo three-phase commit visa solucionar uma falha do protocolo two-phase commit, quando ocorre falha simultânea do membro coordenador e de algum dos participantes na 2ª fase desse último protocolo.

II. No protocolo three-phase commit, os participantes têm igual hierarquia, não há mais a figura do coordenador que existe no protocolo two-phase commit.

III. No protocolo two-phase commit, existe uma fase inicial de votação, onde o coordenador envia uma solicitação de commit para todos os participantes, e depois cada um envia sua resposta (concordando ou não com o commit) para todos os demais.


Está correto somente o que se afirma em:

Alternativas
Comentários
  • Acredito que o gabarito esteja errado, que seja a letra C.
    I-ERRADA. O problema que acontece no 2PC é a falha no coordenador. Caso isso ocorra, a transação fica paralisada, conhecida também como obstrução
    II-ERRADA. Tanto no 2PC quanto no 3PC há a figura do coordenador
    III-CORRETA. As fases do 2PC são votação e decisão. Segue descrição das fases:
    1ª Fase: todos os nós participantes da transação sinalizam ao coordenador que sua parte da transação foi realizada. O coordenador envia uma mensagem preparar “para commit”. Cada nó fará uma gravação forçada em disco de todos os registros de log e informações necessárias para recuperação local, e em seguida envia um sinal “OK” ao coordenador, caso contrário envia um sinal “não OK”. Na falta de uma resposta o coordenador considera o nó “não OK”.
    2ª Fase: se todos os nós respondem “OK’ e o voto do coordenador também for “OK”, a transação foi bem sucedida e o coordenador envia um sinal “commit” para os nós, caso contrário, a transação falhou e o coordenador envia uma mensagem para “rollback”. Neste caso a transação será desfeita utilizando-se os arquivos de log.

     

  • Rosana, a alternativa III o erro está no final da questão:

    III. No protocolo two-phase commit, existe uma fase inicial de votação, onde o coordenador envia uma solicitação de commit para todos os participantes, e depois cada um envia sua resposta (concordando ou não com o commit) para todos os demais.

    Na verdade cada um envia sua resposta apenas para o coordenador.

  • Na minha opnião todas as alternativas estão erradas.

    Como Rosana Andrade disse lá em baixo, na afirmativa I a falha ocorre somente no coordenador. 

    Na afirmativa III, os membros enviam a resposta somente para o coordenador. 

  • - Gerenciamento de transação em BDD

    1- Protocolo de confirmação em duas fases (2PC) - exige um gerenciador de recuperação global, ou coordenador, para manter as informações necessárias para recuperação. É um protocolo de bloqueio.

    2- Protocolo de confirmação em três fases (3PC) - divide a segunda fase de confirmação em duas subfases, chamadas preparar-para-confirmar e confirmar. Foi criado justamente para resolver o problema de bloqueio (deadlock) do 2PC.

  • I. O protocolo 3PC visa solucionar os problemas ocasionados pelo fato do 2PC ser bloqueante, em caso de falhas no coordenador. Um dos problemas do 2PC é exatamente o que ocorre quando tanto o coordenador quanto um nó falham na segunda fase, o que pode ocasionar inconsistências de dados. CERTA

    II. No 3PC existe o coordenador. A diferença é que os nós participantes são informados do resultado da votação, permitindo que um deles assuma o papel de coordenador em caso de falha deste. ERRADA

    III. No 2PC, os participantes respondem se podem ou não realizar o commit direto para o coordenador, não para os demais nós. ERRADA

    Gabarito: A