平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問11
テクノロジ/データベーストランザクションの直列化可能性(serializability)が保証されている状態の説明はどれか。
出典:平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問11
- ア2相コミットが可能であり,複数のトランザクションを同時実行できる。
- イ隔離性水準が低い状態であり,トランザクション間の干渉が起こり得る。
- ウ複数のトランザクションが同時実行された結果と,逐次実行された結果とが同じになる。
- エ複数のトランザクションが,一つずつ順にスケジュールされて実行される。
正解:ウ
解説
直列化可能性(serializability)とは,複数のトランザクションを並行して(同時に)実行した結果が,それらのトランザクションを何らかの順序で1件ずつ逐次的に(直列に)実行した場合の結果と一致することを保証する性質である。直列化可能性は,同時実行制御によって実現される目標であり,トランザクションが実際に一つずつ順番に実行されることや,2相コミットが可能であることを意味するものではない。
選択肢ごとの解説
- ア誤り。2相コミットは分散トランザクションにおけるコミット制御のプロトコルであり,直列化可能性(同時実行制御によって保証される性質)とは直接関係がない。
- イ誤り。隔離性水準が低い状態は,トランザクション間の干渉(ダーティリードなど)が起こり得る状態であり,直列化可能性が保証されている状態とは逆の説明である。
- ウ正しい。直列化可能性とは,複数のトランザクションを同時実行した結果が,それらを何らかの順序で逐次実行した結果と一致することをいう。
- エ誤り。複数のトランザクションが一つずつ順にスケジュールされて実行されるというのは,直列実行そのものの説明であり,同時実行を許容しつつその結果が直列実行と等価になることを保証する直列化可能性の説明ではない。