データベーススペシャリスト 平成28年春期 午前U 問14

午前U 問14

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

分類

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

正解

解説

2相コミット(Two Phase Commit)は、トランザクションのコミットを次の2つのフェーズに分けて行うことで、分散データベース環境でのトランザクションの原子性・一貫性を保証する仕組みです。
第1フェーズ
他のサイトに更新可能かどうかを確認する
第2フェーズ
全サイトからの合意が得られた場合に更新を確定する
具体的には、コミットの調整を行う1つのノードを「調停者(主サイト)」、ネットワーク上の他のノードを「参加者」として、次の手順でコミットが行われます。
  1. 調停者となったノードはネットワーク上の他のノードにコミットの可否を問い合わせる。
  2. 全参加者からコミットの合意を得られた場合は、全参加者にコミットの実行要求を発行する。コミットの停止を応答した参加者がいた場合、又はタイムアウトとなった場合は、全参加者にロールバックの実行要求を発行する。
  3. 各参加者は、コミット(またはロールバック)の完了とともに調停者に処理完了のメッセージを送る。
  4. 調停者が、全参加者からの処理要求メッセージを受け取り、トランザクションの完了となる。
  • 各データベースサイトは,必ずコミットの可否(Yes/No)を調停者に返答します。
  • 正しい。
  • コミットが失敗した場合には、全参加者にロールバックの実行要求が発行されます。
  • 主サイトは各データベースサイトにロックをかけるわけではありません。
© 2016-2019 データベーススペシャリストドットコム All Rights Reserved.

Pagetop