Two-Phase Commit é um protocolo padronizado que garante que uma confirmação de banco de dados esteja sendo implementada na situação em que uma operação de confirmação deve ser dividida em duas partes separadas. Isto posto, saiba o que é e como funciona o Two-Phase Commit no artigo abaixo.
Qual o significado de Two-Phase Commit?
Two-Phase Commit (em português “confirmação de duas fases”) é um protocolo padronizado que garante que uma confirmação de banco de dados esteja sendo implementada na situação em que uma operação de confirmação deve ser dividida em duas partes separadas.
No gerenciamento de banco de dados, salvar alterações de dados é conhecido como confirmação e desfazer alterações é conhecido como reversão (em inglês “rollback”). Ambos podem ser alcançados facilmente usando o log de transações quando um único servidor está envolvido, mas quando os dados são espalhados por servidores geograficamente diversos na computação distribuída (ou seja, cada servidor sendo uma entidade independente com registros de log separados), o processo pode se tornar mais complicado.
Techopedia Explica Two-Phase Commit
Um objeto especial, conhecido como coordenador, é necessário em uma transação distribuída. Como o próprio nome indica, o coordenador organiza as atividades e a sincronização entre servidores distribuídos. A confirmação de duas fases é implementada da seguinte maneira:
Fase 1 – Cada servidor que precisa confirmar dados grava seus registros de dados no log. Se um servidor não for bem-sucedido, ele responderá com uma mensagem de falha. Se for bem-sucedido, o servidor responderá com uma mensagem OK.
Fase 2 – Esta fase começa depois que todos os participantes respondem OK. Em seguida, o coordenador envia um sinal para cada servidor com instruções de confirmação. Após a confirmação, cada um grava a confirmação como parte de seu registro de log para referência e envia ao coordenador uma mensagem de que sua confirmação foi implementada com êxito. Se um servidor falhar, o coordenador enviará instruções a todos os servidores para reverter a transação. Depois que os servidores são revertidos, cada um envia comentários de que isso foi concluído.