平成22年度秋期 応用情報技術者試験 午前 問30
分散データベースシステムにおいて,一連のトランザクション処理を行う複数サイトに更新処理が確定可能かを問い合わせ,すべてのサイトの更新処理が確定可能である場合,更新処理を確定する方式はどれか。
- ア 2 相コミット
- イ 排他制御
- ウ ロールバック
- エ ロールフォワード
解答・解説を見る
正解:ア
AI解説
2相コミット(2-Phase Commit)は、分散トランザクションにおいて各サイトに更新確定の可否を問い合わせる「準備(投票)フェーズ」と、全サイトが確定可能と回答した場合にのみ実際に確定させる「コミットフェーズ」の2段階で構成され、分散環境でのデータ整合性を保証する仕組みである。 ア: 正しい。2相コミットは、まず全参加サイトに更新確定可能かを問い合わせ(第1相)、全サイトがOKの場合にのみ更新を確定する(第2相)方式であり、一つでも確定不可なら全体をロールバックする。 イ: 排他制御は、複数のトランザクションが同一データに同時アクセスする際の競合を防ぐためにロックなどでアクセスを制御する仕組みであり、複数サイト間の確定合意の仕組みとは異なる。 ウ: ロールバックは、トランザクションが異常終了した場合や取り消す場合に、更新前の状態にデータを戻す処理であり、確定可否を事前に問い合わせる仕組みではない。 エ: ロールフォワードは、バックアップとログ(ジャーナル)を使って障害発生前の最新状態までデータを復元する処理であり、分散サイト間の更新確定の合意形成とは無関係。 💡 2相コミット=「準備フェーズ+コミットフェーズ」の2段階、というキーワードで覚える。分散DBの整合性確保の定番用語なので必ず押さえておく。
※Web掲載用に表記を一部変更しています。著作権はIPAに帰属します。