平成22年度 秋期 午前 問30
データベース
2相コミットメントに関する問題
分散データベースシステムにおいて,一連のトランザクション処理を行う複数サイトに更新処理が確定可能かを問い合わせ,すべてのサイトの更新処理が確定可能である場合,更新処理を確定する方式はどれか。
- ア2 相コミット
- イ排他制御
- ウロールバック
- エロールフォワード
答えと解説を見る
✓ これが正解ア2 相コミット
解説
全員に確認してから確定する二段階の方式です。
分散データベースでは、一つのまとまった処理が複数のサイトにまたがります。判定の軸は、その仕組みが正常に終わらせるための手続きなのか、それとも障害から立て直すための手続きなのかという一点です。正解の方式は、名前のとおり二つの段階を踏みます。まず調整役がすべてのサイトへ確定できるかを問い合わせ、各サイトは可否を返します。全部のサイトから可という返事がそろったときにだけ、次の段階で確定を指示します。一つでも否があれば、全体を取り消す側へ回します。設問の文がこの手順をそのままなぞっているので、読み合わせるだけで決まります。段階を分ける理由は、勝手に確定させると一方だけ更新されて他方は戻るという半端な状態が残るからです。先に全員の合意を取り、それからまとめて確定するという形にすることで、全部やるか全部やらないかという性質を保っています。
ほかの選択肢はなぜ違うのか
- イ排他制御:同時に動く処理どうしが互いの領域を踏まないように、順番待ちをさせるための仕組みです。割り込みを防ぐ話であって、更新を確定させるまでの手続きそのものではありません。
- ウロールバック:異常が起きたときに更新を取り消し、処理を始める前の状態へ戻す操作です。問われているのは正常に終わらせる側の手順なので、後戻りさせる操作は当てはまりません。
- エロールフォワード:保存しておいた複製に記録を当てて、障害の直前の状態まで進め直す復旧の操作です。これも立て直しのための道具で、確定できるかを問い合わせる方式ではありません。
この問題の用語
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- 排他制御同じデータを同時に更新しても、矛盾が起きないようにする仕組みです。先の処理が終わるまで、後の処理を待たせて防ぎます。
出典:平成22年度 秋期 応用情報技術者試験 午前 問30
同じ用語が出る問題
- 令和7年度 秋期 午前 問29:多版同時実行制御に関する問題(トランザクション)
- 令和7年度 秋期 午前 問16:排他制御に関する問題(排他制御)
- 令和6年度 秋期 午前 問31:チェックポイントに関する記述(トランザクション)
- 平成30年度 秋期 午前 問30:排他制御に関する問題(排他制御)
- 平成30年度 春期 午前 問18:セマフォを用いる目的(排他制御)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)