Qu’est-ce que le « protocole de validation en deux phases» ?
Une validation en deux phases est un protocole standardisé qui garantit que la validation d’une base de données est mise en œuvre lorsqu’une opération de validation doit être scindée en deux parties distinctes.
Dans la gestion des bases de données, l’enregistrement des modifications de données est appelé « commit » et l’annulation des modifications est appelée « rollback ».
Ces deux opérations peuvent être réalisées facilement via la journalisation des transactions lorsqu’un seul serveur est impliqué, mais lorsque les données sont réparties sur des serveurs géographiquement distants dans le cadre de l’informatique distribuée (c’est-à-dire que chaque serveur fonctionne de manière indépendante avec des enregistrements distincts), le processus peut s’avérer plus délicat.
Techopedia explique le protocole de validation en deux phases
Un objet spécial, appelé coordinateur, est nécessaire 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 mise en œuvre comme suit :
- Phase 1 – Chaque serveur qui doit livrer 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. Le coordinateur envoie alors un signal à chaque serveur avec des instructions de validation. Après la validation, chaque serveur inscrit la validation dans son journal pour référence et envoie au coordinateur un message indiquant que sa validation a été exécutée avec succès.
En cas de défaillance d’un serveur, le coordinateur envoie des instructions à tous les serveurs pour qu’ils annulent la transaction. Une fois que les serveurs ont annulé la transaction, chacun d’entre eux envoie un message indiquant que la transaction a été effectuée.