Commit en deux phases (2pc)

Définition - Que signifie Two-Phase Commit (2PC)?

Une validation en deux phases est un protocole standardisé qui garantit qu'une validation de base de données est implémentée dans la situation où une opération de validation doit être divisée en deux parties distinctes.

Dans la gestion de la base de données, l'enregistrement des modifications de données est connu sous le nom de validation et l'annulation des modifications est appelée restauration. Les deux peuvent être facilement réalisés en utilisant la journalisation des transactions lorsqu'un seul serveur est impliqué, mais lorsque les données sont réparties sur des serveurs géographiquement diversifiés dans l'informatique distribuée (c'est-à-dire que chaque serveur étant une entité indépendante avec des enregistrements de journal séparés), le processus peut devenir plus délicat. .

Definir Tech explique la validation en deux phases (2PC)

Un objet spécial, appelé coordinateur, est requis dans une transaction distribuée. Comme son nom l'indique, le coordinateur organise les activités et la synchronisation entre les serveurs distribués. La validation en deux phases est implémentée comme suit:

Phase 1 - Chaque serveur qui a besoin de valider des données écrit ses enregistrements de données dans le journal. Si un serveur échoue, il répond par un message d'échec. En cas de succès, le serveur répond par un message OK.

Phase 2 - Cette phase commence après que tous les participants ont répondu OK. Ensuite, le coordinateur envoie un signal à chaque serveur avec des instructions de validation. Après la validation, chacun écrit la validation dans le cadre de son enregistrement de journal pour référence et envoie au coordinateur un message indiquant que sa validation a été implémentée avec succès. Si un serveur échoue, le coordinateur envoie des instructions à tous les serveurs pour annuler la transaction. Après la restauration des serveurs, chacun envoie des commentaires indiquant que cela est terminé.