二相コミット(2PC)

著者: Randy Alexander
作成日: 3 4月 2021
更新日: 26 六月 2024
Anonim
分散システム7.1:2フェーズコミット
ビデオ: 分散システム7.1:2フェーズコミット

コンテンツ

定義-2相コミット(2PC)とはどういう意味ですか?

2フェーズコミットは、コミット操作を2つの別々の部分に分割する必要がある状況でデータベースコミットが実装されることを保証する標準化されたプロトコルです。


データベース管理では、データ変更の保存はコミットと呼ばれ、変更の取り消しはロールバックと呼ばれます。単一のサーバーが関与する場合、トランザクションログを使用して両方を簡単に実現できますが、データが分散コンピューティングの地理的に多様なサーバーに分散している場合(つまり、各サーバーが個別のログレコードを持つ独立したエンティティである場合)、プロセスはよりトリッキーになる可能性があります。

Microsoft AzureとMicrosoft Cloudの紹介|このガイドを通して、クラウドコンピューティングとは何か、Microsoft Azureを使用してクラウドからビジネスを移行および実行する方法を学習します。

TechopediaがTwo-Phase Commit(2PC)を説明しています

コーディネーターと呼ばれる特別なオブジェクトは、分散トランザクションに必要です。その名前が示すように、コーディネーターはアクティビティと分散サーバー間の同期を調整します。 2フェーズコミットは次のように実装されます。

フェーズ1-データをコミットする必要がある各サーバーは、データレコードをログに書き込みます。サーバーが失敗した場合、失敗で応答します。成功すると、サーバーはOKで応答します。

フェーズ2-このフェーズは、すべての参加者がOKと応答した後に始まります。次に、コーディネーターは、コミット命令を使用して各サーバーにシグナルを送信します。コミット後、それぞれが参照用のログレコードの一部としてコミットを書き込み、コーディネーターにコミットが正常に実装されたことを通知します。サーバーに障害が発生した場合、コーディネーターはすべてのサーバーにトランザクションをロールバックするよう指示します。サーバーがロールバックした後、各サーバーはこれが完了したことをフィードバックします。