平成26年度 秋期 基本情報技術者試験 午前 問30
テクノロジ/データベーストランザクションの同時実行制御に用いられるロックの動作に関する記述のうち,適切なものはどれか。
出典:平成26年度 秋期 基本情報技術者試験 午前 問30
- ア共有ロック獲得済の資源に対して,別のトランザクションからの新たな共有ロックの獲得を認める。
- イ共有ロック獲得済の資源に対して,別のトランザクションからの新たな専有ロックの獲得を認める。
- ウ専有ロック獲得済の資源に対して,別のトランザクションからの新たな共有ロックの獲得を認める。
- エ専有ロック獲得済の資源に対して,別のトランザクションからの新たな専有ロックの獲得を認める。
正解:ア
解説
共有ロック(Sロック)は複数のトランザクションが同時に取得して参照できますが,専有ロック(Xロック)は一つのトランザクションだけが取得でき,他のトランザクションによる共有・専有いずれのロックも認められません。したがって,共有ロック獲得済の資源に対して別の共有ロックを認めるのは適切な動作です。
選択肢ごとの解説
- ア正しい。共有ロックどうしは互いに競合しないため,別のトランザクションからの共有ロックの新たな獲得が認められます。
- イ誤り。共有ロック獲得済の資源に対して専有ロックを認めると,データの一貫性が損なわれるため許可されません。
- ウ誤り。専有ロック獲得済の資源に対しては,他のトランザクションからの共有ロックも認められません。
- エ誤り。専有ロック獲得済の資源に対して別の専有ロックを認めると,同時更新によるデータ不整合が発生するため許可されません。