平成26年度 春期 午前 問29
データベース
分散データベースに関する問題
分散データベースにおいて図のようなコマンドシーケンスがあった。調停者がシーケンス a で発行したコマンドはどれか。ここで,コマンドシーケンスの記述に UML のシーケンス図の記法を用いる。〔図:左から「要求者」「調停者」「システム1」「システム2」の4本のライフライン。要求者が調停者へ UPDATE 要求を2回,続けて COMMIT 要求を送る。調停者はシステム1へ UPDATE 要求,システム2へ UPDATE 要求を送った後,システム1とシステム2の双方へ COMMIT 可否問合せを送る。返りはシステム1が「可」,システム2が「否」。その後,調停者はシステム1とシステム2の双方へ a を送る。〕
- アCOMMIT の実行要求
- イROLLBACK の実行要求
- ウ判定レコードの書出し要求
- エログ書出しの実行要求
答えと解説を見る
✓ これが正解イROLLBACK の実行要求
解説
一つでも否が返れば、全員に取消しを指示します。
設問は、分散データベースの調停者が最後に発行した指示を選ばせています。図の形は二段構えになっており、先に両方のシステムへ確定できるかを問い合わせ、返ってきた答えを集めてから、両方へ同じ指示を送っています。これが二相コミットの進め方です。ですから読むべき文字は、返ってきた答えの二つだけです。一方は可、もう一方は否となっています。分散した複数の場所を扱うときに何より守りたいのは、一部だけが確定して残りが取り消される、という食い違った状態を作らないことです。答えが全員一致でない以上、このトランザクションは成立させられません。しかも可と答えた側はまだ確定しておらず、いつでも確定できる状態で待っているだけですから、そちらにも取り消させることができます。よって調停者は両方へロールバックの実行を求めます。
ほかの選択肢はなぜ違うのか
- アCOMMIT の実行要求:否と答えた側は確定できないのに、可と答えた側だけが確定してしまいます。場所によって内容が食い違った状態が残るので、複数の場所にまたがる処理で最も避けたい結果になります。
- ウ判定レコードの書出し要求:これは調停者が自分の側に結果を書き留める作業に当たり、相手のシステムへ同じものを二本送る性質のものではありません。図では左右の双方へ同じ指示が向かっているので、形が合いません。
- エログ書出しの実行要求:更新のたびに各システムが自分で行っている記録の作業です。答えを集め終えたあとに改めて求める内容ではなく、可と否が分かれた場面をどう収めるかにも触れていません。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- ログいつ誰が何をしたかを、機器やソフトウェアが自動で残していく記録です。あとから出来事をたどれるので、事故の調査や不正の発見に使われます。
出典:平成26年度 春期 応用情報技術者試験 午前 問29
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 令和6年度 秋期 午前 問27:ロールバックに関する問題(トランザクション)
- 令和6年度 秋期 午前 問12(トランザクション)
- 令和6年度 春期 午前 問55:SaaSに関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)