Inhoudsopgave:
Definitie - Wat betekent Two-Phase Commit (2PC)?
Een COMMIT in twee fasen is een gestandaardiseerd protocol dat ervoor zorgt dat een COMMIT in een database wordt geïmplementeerd in de situatie waarin een COMMIT moet worden opgesplitst in twee afzonderlijke delen.
In databasebeheer staat het opslaan van gegevenswijzigingen bekend als een commit en het ongedaan maken van wijzigingen staat bekend als een rollback. Beide kunnen eenvoudig worden bereikt met behulp van transactielogboekregistratie wanneer er een enkele server bij betrokken is, maar wanneer de gegevens verspreid zijn over geografisch diverse servers in gedistribueerde computing (dat wil zeggen dat elke server een onafhankelijke entiteit met afzonderlijke logboekrecords is), kan het proces lastiger worden .
Techopedia verklaart Two-Phase Commit (2PC)
Een speciaal object, bekend als een coördinator, is vereist in een gedistribueerde transactie. Zoals de naam al aangeeft, regelt de coördinator activiteiten en synchronisatie tussen gedistribueerde servers. De tweefasen-commit is als volgt geïmplementeerd:
Fase 1 - Elke server die gegevens moet vastleggen, schrijft zijn gegevensrecords in het logboek. Als een server niet succesvol is, reageert deze met een foutmelding. Als dit lukt, antwoordt de server met een OK-bericht.
Fase 2 - Deze fase begint nadat alle deelnemers OK hebben geantwoord. Vervolgens stuurt de coördinator een signaal naar elke server met commit-instructies. Na het committeren, schrijft elke commit de commit als onderdeel van zijn logrecord ter referentie en stuurt de coördinator een bericht dat zijn commit succesvol is geïmplementeerd. Als een server uitvalt, stuurt de coördinator instructies naar alle servers om de transactie ongedaan te maken. Nadat de servers zijn teruggedraaid, verzendt elke feedback dat dit is voltooid.