データベース 2フェーズコミット(2pc)とは何ですか? -techopediaからの定義

2フェーズコミット(2pc)とは何ですか? -techopediaからの定義

目次:

Anonim

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

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

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

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

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

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

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

2フェーズコミット(2pc)とは何ですか? -techopediaからの定義