平成25年度 春期 データベーススペシャリスト試験 午前II 問19
【問題19】
トランザクション管理の直列化可能スケジュールを説明したものはどれか。
デッドロックの発生を最小限に抑えるために、可能な限りトランザクションを直列に実行するスケジュール
トランザクションの前後関係を考慮しながら、処理時間が最短になるようにトランザクションを直列に実行するスケジュール
トランザクションを順番に実行した場合と同じ結果をもつように、並行実行するスケジュール
読取り専用トランザクションは並行実行するが、更新を行うトランザクションは直列に実行するスケジュール
【解説】
ア: デッドロックの発生を最小限に抑えるために、可能な限りトランザクションを直列に実行するスケジュール
誤り。直列化可能スケジュールはトランザクションが並行実行される場合でも、データベースの整合性を保ちながら直列実行と同じ結果を得られるものです。デッドロック回避のためだけに直列実行を選ぶわけではありません。
イ: トランザクションの前後関係を考慮しながら、処理時間が最短になるようにトランザクションを直列に実行するスケジュール
誤り。直列化可能スケジュールはトランザクション間の前後関係を保ちながらも、並行実行を許容するもので、処理時間の最短化を目的にしていません。
ウ: トランザクションを順番に実行した場合と同じ結果をもつように、並行実行するスケジュール
正しい。直列化可能スケジュールの基本的な特徴は、並行実行しても直列実行と同じ結果を得られることです。これによりデータベースの整合性を保ちつつ、並行処理の利点を活かせます。
エ: 読取り専用トランザクションは並行実行するが、更新を行うトランザクションは直列に実行するスケジュール
誤り。読取り専用のトランザクションが並行実行できることはありますが、直列化可能スケジュールは基本的に全てのトランザクションに適用され、更新を行うトランザクションだけを直列に実行するというルールはありません。
【答え】
ウ: トランザクションを順番に実行した場合と同じ結果をもつように、並行実行するスケジュール
出典:平成25年度 春期 データベーススペシャリスト試験 午前II 問19