応用情報技術者 2013年 春期 午前2 問31
問題文
トランザクションの同時実行制御に用いられるロックの動作に関する記述のうち、適切なものはどれか。
選択肢
ア:共有ロック獲得済の資源に対して、別のトランザクションからの新たな共有ロックの獲得を認める。(正解)
イ:共有ロック獲得済の資源に対して、別のトランザクションからの新たな専有ロックの獲得を認める。
ウ:専有ロック獲得済の資源に対して、別のトランザクションからの新たな共有ロックの獲得を認める。
エ:専有ロック獲得済の資源に対して、別のトランザクションからの新たな専有ロックの獲得を認める。
トランザクションの同時実行制御に用いられるロックの動作に関する記述【午前2 解説】
要点まとめ
- 結論:共有ロックは複数のトランザクションで同時に取得可能であり、専有ロックは排他制御のため単独でしか取得できません。
- 根拠:共有ロックは読み取り専用のロックであり、複数のトランザクションが同時に読み取り可能ですが、専有ロックは書き込みを伴うため排他制御が必要です。
- 差がつくポイント:共有ロックと専有ロックの違いを正確に理解し、どのロックがどの操作に適用されるかを区別できることが重要です。
正解の理由
アの「共有ロック獲得済の資源に対して、別のトランザクションからの新たな共有ロックの獲得を認める」は正しいです。共有ロックは読み取り専用のロックであり、複数のトランザクションが同時に共有ロックを取得しても競合しません。これにより、同時に複数の読み取りが可能となり、システムの並行性が向上します。
よくある誤解
専有ロックがかかっている資源に対しても共有ロックが取得できると誤解しがちですが、専有ロックは排他制御のため他のロック取得を許しません。
解法ステップ
- ロックの種類(共有ロック・専有ロック)を理解する。
- 共有ロックは読み取り専用で複数同時取得可能と認識する。
- 専有ロックは書き込み用で単独取得が必要と理解する。
- 各選択肢のロックの組み合わせを検証し、矛盾がないか確認する。
- 共有ロック同士の共存のみが許されることを確認し、正解を選ぶ。
選択肢別の誤答解説
- イ: 共有ロック獲得済の資源に専有ロックを認めるのは誤り。専有ロックは排他制御のため共有ロックと共存できません。
- ウ: 専有ロック獲得済の資源に共有ロックを認めるのは誤り。専有ロックは他のロックを排除します。
- エ: 専有ロック獲得済の資源に専有ロックを認めるのは誤り。専有ロックは単独でしか取得できません。
補足コラム
ロック制御はデータベースの同時実行制御の基本であり、デッドロックやスターベーションを防ぐために適切なロック管理が求められます。共有ロックは読み取りの並行性を高め、専有ロックはデータの整合性を保つ役割を果たします。
FAQ
Q: 共有ロックと専有ロックはどのように使い分けるのですか?
A: 共有ロックは読み取り時に使用し、複数トランザクションが同時に取得可能です。専有ロックは書き込み時に使用し、単独で取得されます。
A: 共有ロックは読み取り時に使用し、複数トランザクションが同時に取得可能です。専有ロックは書き込み時に使用し、単独で取得されます。
Q: 専有ロックがかかっている資源に共有ロックを取得できますか?
A: いいえ、専有ロックは排他制御のため、他のロック取得を許しません。
A: いいえ、専有ロックは排他制御のため、他のロック取得を許しません。
関連キーワード: 共有ロック、専有ロック、同時実行制御、トランザクション、排他制御

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

