2相コミット | 応用情報技術者試験
2相コミットとは
2相コミット(2フェーズコミット)とは、複数のサーバーに分散しているデータベース群において、データの更新処理(トランザクション)を行う際、すべてのデータベースで一斉に更新を確定(コミット)させるか、あるいは一斉に取り消す(ロールバック)かを厳密に揃えるためのプロトコル(ルール)です。
システムがいくつかのサーバーに分かれている場合、一部のサーバーだけ更新に成功し、別のサーバーが通信エラーなどで失敗してしまうと、システム全体でデータの矛盾が生じてしまいます。これを防ぐために、司令塔となる「調整役(コーディネーター)」が、各データベースの「参加者(コホート)」に対して、第1段階で「準備はできたか?」と問いかけ、全員からOKの返事を貰った後の第2段階で初めて「実行(コミット)せよ」と指示を出す、2段階のステップを踏んで処理を進めます。
具体例