オリジナル模擬試験3 問28

問28

分散データベースシステムにおいて,複数のデータベースを更新する場合に用いられる2相コミットの処理手順として,適切なものはどれか。
  • 主サイトが各データベースサイトにコミット準備要求を発行した場合,各データベースサイトは,準備ができていない場合だけ応答を返す。
  • 主サイトは,各データベースサイトにコミットが可能であることを確認した後,コミットを発行する。
  • 主サイトは,各データベースサイトにコミットを発行し,コミットが失敗した場合には,再度コミットを発行する。
  • 主サイトは,各データベースサイトのロックに成功した後,コミットを発行し,各データベースサイトをアンロックする。
  • [出典]
  • データベース H23特別 問12

分類

テクノロジ系 » データベース » トランザクション処理

正解

解説

2相コミットは、トランザクションを、他のサイトに更新可能かどうかを確認する第1フェーズと、更新を確定する第2フェーズに分け、各サイトのトランザクションをコミットもロールバックも可能な中間状態(セキュア状態)にした後、全サイトがコミットできる場合だけトランザクションをコミットするという方法で分散データベース環境でのトランザクションの原子性・一貫性を保証する手法です。

具体的には、コミットの調整を行う1つのノードを「調停者(主サイト)」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
  1. 調停者となったノードはネットワーク上の他のノードにコミットの可否を問い合わせる。
  2. 全参加者からコミットの合意を得られた場合は、全参加者にコミットの実行要求を発行する。コミットの停止を応答した参加者がいた場合、またはタイムアウトとなった場合は、全参加者にロールバックの実行要求を発行する。
  3. 各参加者は、コミット(またはロールバック)の完了とともに調停者に処理完了のメッセージを送る。
  4. 調停者が、全参加者からの処理完了メッセージを受け取り、トランザクションの完了となる。
  • 各データベースサイトは,必ずコミットの可否(Yes/No)を調停者に返答します。
  • 正しい。
  • コミットが失敗した場合には、全参加者にロールバックの実行要求が発行されます。
  • 主サイトは各データベースサイトにロックをかけるわけではありません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop