令和2年度 10月 午前Ⅱ 問14
トランザクション処理
楽観的制御法に関する記述
同時実行制御の手法の一種である楽観的制御法に関する記述として,適切なものはどれか。
- アデータに対して順序付けを行い,その順序に従ってロックを掛ける。
- イデータに対してのロックは行わずに,更新対象のデータが他のトランザクションと競合がなかったことを確認してからコミットを行う。
- ウ分散データベースシステムにおいて,コミット可否の問合せをした上で,コミット指示を行う。
- エロックが増加していく成長フェーズである第1相と,ロックが減少していく縮退フェーズである第2相の2相制御を行う。
答えと解説を見る
✓ これが正解イデータに対してのロックは行わずに,更新対象のデータが他のトランザクションと競合がなかったことを確認してからコミットを行う。
解説
ロックを掛けずに進め、コミット前に競合がなかったかを確かめます。
楽観的制御法は、トランザクションどうしの競合はめったに起きないと見込んで、処理の途中ではロックを掛けずに進める方式です。コミットする直前に、自分が読んだデータや更新しようとするデータを、他のトランザクションが先に更新していないかを確かめます。競合がなければコミットし、競合していればそのトランザクションをやり直します。ロックを待つ時間がなくなるので、競合が少ない環境では効率よく処理できます。最初にロックするのか、最後に確かめるのかを軸に見ると、ロックを使う方式の説明と見分けられます。
ほかの選択肢はなぜ違うのか
- アデータに対して順序付けを行い,その順序に…:データに順序を付け、その順にロックを掛けるのは、ロックを掛ける順番をそろえてデッドロックを防ぐ工夫です。ロックを使うことが前提なので、ロックをしない楽観的制御法の説明ではありません。
- ウ分散データベースシステムにおいて,コミッ…:コミットの可否を問い合わせてからコミットを指示するのは、分散データベースで更新をそろえる2相コミットの手順です。同時実行制御の方式ではなく、トランザクションの確定のさせ方の説明です。
- エロックが増加していく成長フェーズである第…:ロックを増やしていく段階と減らしていく段階の二つに分けて制御する方式は、ロックを掛けることが前提の同時実行制御です。ロックを掛けずに進めて最後に競合を確かめる楽観的制御法とは違います。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和2年度 10月 データベーススペシャリスト試験 午前Ⅱ 問14
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問15:隔離性水準に関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問14:べき等に関する問題(トランザクション)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)