平成26年度 高度共通 午前I(PM試験) 問9

分野:データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計)|実際に出題されたIPA過去問題

分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンスaで発行したコマンドはどれか。ここで,コマンドシーケンスの記述にUMLのシーケンス図の記法を用いる。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  COMMITの実行要求
  2.  ROLLBACKの実行要求
  3.  判定レコードの書出し要求
  4.  ログ書出しの実行要求
解答・解説を見る

正解:イ

AI解説

正解はイ。分散データベースの2相コミット(two-phase commit)では、調停者(コーディネータ)が第1相で各参加者にコミット可否を問い合わせ、全員が「コミット可」を返した場合のみ第2相でCOMMITを指示する。シーケンス図では参加者からの応答にコミット不可(準備失敗)が含まれているため、調停者は全参加者にROLLBACKの実行を要求する。 ア: COMMITの実行要求は、全参加者がコミット可能と応答した場合に発行されるコマンドであり、この場面には該当しない。 イ: 正解。一つでもコミット不可の応答があれば原子性を守るため全参加者に取消し(ROLLBACK)を指示する。 ウ: 判定レコードの書出しは調停者自身が判定結果をログに記録する内部処理であり、参加者へ発行するコマンドaではない。 エ: ログ書出しは各サイトが自律的に行う障害回復用の処理であり、調停者が第2相で発行する指示ではない。 💡 2相コミットは「第1相:全員に可否確認(prepare)、第2相:全員一致ならCOMMIT・一人でも不可ならROLLBACK」という多数決ではなく全会一致のルールと覚える。

出典:平成26年度 秋期 プロジェクトマネージャ試験 午前I 問9 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・904問収録)

「データベース」分野の攻略ポイント

関係モデル・正規化・SQL・トランザクション管理・障害回復・データベース設計が中心です。計算問題は少なく、定義と手順を正確に覚えていれば確実に得点できる、いわば「取りこぼしてはいけない」分野です。特に正規形とACID特性は毎年のように形を変えて出ます。

データベースの攻略ポイントをすべて見る(要点5項目・ひっかけ3項目)→

同じ分野(データベース(関係モデル・正規化・SQL・トランザクション/排他制御・障害回復・NoSQL・データベース設計))の過去問