SóProvas


ID
1403986
Banca
FGV
Órgão
TJ-BA
Ano
2015
Provas
Disciplina
Banco de Dados
Assuntos

Transações distribuídas em bancos de dados são caracterizadas pela participação de dois ou mais hosts ligados em rede. Um dos problemas para sua implementação é a garantia de que cada participante faça a sua parte, de modo que uma transação seja corretamente completada. Um algoritmo usualmente utilizado nesse contexto é:

Alternativas
Comentários
  • As principais características do Two-phase commit protocol (Commit em duas fases):

    Está de acordo com o Atomic Commitment Protocol (Protocolo de Commit Atômico);

    Algoritmo distribuído entre processos interconectados, coordenando-os em uma transação distribuída , porém atômica;

    Suporta falhas temporárias no sistema, como por exemplo, problemas de rede ou de comunicação, etc;

    De qualquer forma, em alguns casos mais raros há necessidade de manutenção por parte de um administrador, já que o protocolo não tem 100% de garantia de funcionamento;

    Para isso, faz grande uso de logs para recuperação de quedas ou problemas durante a transação;

    Logs geralmente acarretam em queda de desempenho, porém garantem melhor tratamento dos possíveis erros ocorridos em transações;


    O Two-phase commit protocol não deve ser confundido com o protocolo two-phase locking (2PC) que é um protocolo de controle de concorrência;


    Dentre as desvantagens do Two-phase commit protocol estão incluídos:

    Protocolo de bloqueio;

    Depedência em cima do coordenador: se este parar de funcionar, todos os nós que estiverem bloqueados aguardando mensagens podem também ser prejudicados;


    fonte: http://concursos.wikia.com/wiki/Two-phase_commit_protocol

  • A frase : "de modo que uma transação seja corretamente completada." Mata a charada Two phase commitment;
    (Two Phase Lock) é um dos mecanismos de controle de concorrência utilizados em Sistemas de Bancos de Dados para evitar que as interações entre as transações provoquem inconsistências no banco de dados. O protocolo de bloqueio de duas fases define duas etapas para o processamento de toda transação, sendo que na primeira etapa a transação obtém bloqueios dos itens de dados, e na segunda etapa os bloqueios obtidos pela transação são liberados. 

  • Wagner, põe ai essa tua fonte. Isso que vc disse naõ tem nada a ver com o 2phase commit, descrito a seguir:

    Segundo[1], para manter a atomicidade de uma transação multibanco de dados, é preciso ter um mecanismo de recuperação de dois níveis. O coordenador costuma seguir um protocolo chamado protocolo de confirmação em duas fases, cujas fases podem ser indicadas da seguinte forma:

    Fase 1. Quando todos os bancos de dados participantes sinalizam ao coordenador que a parte da transação multibanco de dados que envolve cada um tiver sido concluída, o coordenador envia uma mensagem de preparação para confirmação a cada participante, para que se preparem para confirmar a transação.

    Fase 2. Se todos os bancos de dados participantes responderem OK e o voto do coordenador também for OK, a transação terá sido bem-sucedida, e o coordenador envia um sinal de confirmação para a transação aos bancos de dados participantes.

    Fonte:

    [1] SBD, E&N

  • Two-phase commit = Garante Atomicidade