基本情報技術者試験 - 令和5年12月修了 - 問22

データベースの排他制御におけるロック獲得の可能性のうち,適切なものはどれか。
アあるトランザクションが共有ロックを獲得している資源に対して,別のトランザクションが共有ロックを獲得することは可能である。
イあるトランザクションが共有ロックを獲得している資源に対して,別のトランザクションが専有ロックを獲得することは可能である。
ウあるトランザクションが専有ロックを獲得している資源に対して,別のトランザクションが共有ロックを獲得することは可能である。
エあるトランザクションが専有ロックを獲得している資源に対して,別のトランザクションが専有ロックを獲得することは可能である。
答え : ア
分野 : テクノロジ系 › 技術要素 › データベース › トランザクション処理
解説 :
データベースの排他制御では,複数のトランザクション(一連の処理のまとまり)が同時に同じデータにアクセスしようとする際に,データの整合性を保つために「ロック」という仕組みを使います。ロックには主に,複数のトランザクションが同時に取得できる「共有ロック」と,一つのトランザクションだけが取得できる「専有ロック」(排他ロック)があります。

共有ロックは,データを参照するだけの処理(読み取り)を想定したもので,複数のトランザクションが同時にデータを読み取ることは問題にならないため,ある資源に共有ロックがかかっていても,別のトランザクションがさらに共有ロックを獲得することは可能です。従って,正解は「ア」です。

「イ」は,共有ロックがかかっている資源に対して別のトランザクションが専有ロックを獲得できるとしていますが,専有ロックはデータの更新を想定したものであり,他のトランザクションが読み取り中のデータを同時に更新すると不整合が生じるため,共有ロックと専有ロックは同時に成立しません。

「ウ」と「エ」も同様に,専有ロックがかかっている資源に対して,別のトランザクションが共有ロックや専有ロックを獲得できるとしていますが,専有ロックは他のいかなるロックとも同時に成立しないため,いずれも誤りです。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる