×
データベース

また、複数の異なるサーバーやデータベースにまたがって1つのトランザクションを実行する「分散データベース」においては、「二相コミットプロトコル(2-Phase Commit Protocol)」と呼ばれる高度な仕組みが用いられます。これは、全体の指揮役(コーディネーター)がすべての参加データベース(参加者)に対して「コミット可能か?」と問い合わせる『第1相(準備フェーズ)』と、全員から合意(Yes)を得られた場合に一斉に「コミットせよ」と命令を下す『第2相(コミットフェーズ)』の二段階を踏むことで、ネットワーク分散環境下でもすべてのシステムが一貫して同時コミットできるように合意形成する技術です。

試験でのポイント

IT試験においては、コミットとロールバックの挙動や目的、およびそれらがACID特性のどの性質を維持するために使われるかがよく問われます。

試験対策としての重要ポイントは以下の通りです。
・コミットの定義:「トランザクションの一連の処理が正常終了し、データの更新結果をデータベースに恒久的に反映(確定)させる操作」であることを覚えましょう。
・ロールバック(対比)との識別:何らかのエラーが発生した場合は、コミットではなく「ロールバック(実行前の状態に復帰)」を選択します。この使い分けのシナリオが問題になります。
・ACID特性との関係:コミットによって処理の確定と障害からの保護を保証することは、ACID特性の「原子性(Atomicity)」や「耐久性(Durability)」を維持するための主要な技術です。
・二相コミットプロトコル:応用情報や基本情報技術者の午前・午後試験において、「分散データベースシステムにおいてデータの整合性を保ちながら一斉にコミットを完了させるためのプロトコルはどれか」という問題で「二相コミット」を選ばせる問題が出題されるため、これもあわせて頭に入れておきましょう。

関連する用語

コミットと対になる、処理を取り消すための命令である「ロールバック」や、コミットを行う最小の実行単位である「トランザクション」が関連します。また、トランザクションの信頼性を担保するルール「ACID特性」や、コミット時のデータ回復に欠かせない「ジャーナル(ログ)ファイル」、さらに複数のデータベースで同期してコミットを行うための「二相コミットプロトコル」も重要な関連ワードです。