過去問解きまくり研究所 ホーム

平成26年度 春期 午前 問29

データベース

分散データベースに関する問題

分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンス a で発行したコマンドはどれか。ここで,コマンドシーケンスの記述に UML のシーケンス図の記法を用いる。〔図:左から「要求者」「調停者」「システム1」「システム2」の4本のライフライン。要求者が調停者へ UPDATE 要求を2回,続けて COMMIT 要求を送る。調停者はシステム1へ UPDATE 要求,システム2へ UPDATE 要求を送った後,システム1とシステム2の双方へ COMMIT 可否問合せを送る。返りはシステム1が「可」,システム2が「否」。その後,調停者はシステム1とシステム2の双方へ a を送る。〕

答えと解説を見る

✓ これが正解イROLLBACK の実行要求

解説

一つでも否が返れば、全員に取消しを指示します。

設問は、分散データベースの調停者が最後に発行した指示を選ばせています。図の形は二段構えになっており、先に両方のシステムへ確定できるかを問い合わせ、返ってきた答えを集めてから、両方へ同じ指示を送っています。これが二相コミットの進め方です。ですから読むべき文字は、返ってきた答えの二つだけです。一方は可、もう一方は否となっています。分散した複数の場所を扱うときに何より守りたいのは、一部だけが確定して残りが取り消される、という食い違った状態を作らないことです。答えが全員一致でない以上、このトランザクションは成立させられません。しかも可と答えた側はまだ確定しておらず、いつでも確定できる状態で待っているだけですから、そちらにも取り消させることができます。よって調停者は両方へロールバックの実行を求めます。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成26年度 春期 応用情報技術者試験 午前 問29

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)