平成25年度 春期 午前Ⅱ 問19
トランザクション処理
直列化可能スケジュールの説明
トランザクション管理の直列化可能スケジュールを説明したものはどれか。
- アデッドロックの発生を最小限に抑えるために,可能な限りトランザクションを直列に実行するスケジュール
- イトランザクションの前後関係を考慮しながら,処理時間が最短になるようにトランザクションを直列に実行するスケジュール
- ウトランザクションを順番に実行した場合と同じ結果をもつように,並行実行するスケジュール
- エ読取り専用トランザクションは並行実行するが,更新を行うトランザクションは直列に実行するスケジュール
答えと解説を見る
✓ これが正解ウトランザクションを順番に実行した場合と同じ結果をもつように,並行実行するスケジュール
解説
順番に実行したときと同じ結果になるように、並行実行するスケジュールです。
直列化可能スケジュールは、複数のトランザクションを並行して実行しながら、その結果が、トランザクションを何らかの順番で一つずつ実行した場合の結果と同じになるスケジュールです。一つずつ順に実行すれば互いの干渉は起きませんが、待ち時間が長くなります。直列化可能性は、並行実行による効率を保ちつつ、結果の正しさを順番に実行した場合と同じ基準で保証する考え方です。2相ロッキングプロトコルに従ってロックをかけると、直列化可能性が保証されることが知られています。直列に実行することではなく、結果が直列と同じになることだと区別すると、紛らわしい記述を見分けられます。
ほかの選択肢はなぜ違うのか
- アデッドロックの発生を最小限に抑えるために…:デッドロックを減らすために直列の実行を増やすという考え方は、直列化可能スケジュールの定義ではありません。直列化可能性が求めるのは結果の正しさで、トランザクションを直列に実行すること自体ではありません。
- イトランザクションの前後関係を考慮しながら…:処理時間が最短になる順番を探して直列に実行するのは、実行順序の最適化の話です。直列化可能スケジュールは並行実行を前提にしており、直列に実行するスケジュールを指す言葉ではありません。
- エ読取り専用トランザクションは並行実行する…:更新するトランザクションだけを直列にするという区分は、直列化可能スケジュールの定義に含まれていません。読取りか更新かの別ではなく、並行実行の結果が逐次実行と一致するかどうかで決まります。
この問題の用語
- トランザクションデータベースへの一連の処理をひとまとめにした単位のこと。途中で失敗すると開始前の状態へ戻され、中途半端な更新が残りません。
- スケジュール作業の順序と日程を決めた計画のことをいいます。作業の前後関係から日程を組み立てるには、PERTが向いています。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問19
同じ用語が出る問題
- 令和7年度 秋期 午前Ⅱ 問18:ブロックチェーンに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問17:デッドロックに関する問題(トランザクション)
- 令和7年度 秋期 午前Ⅱ 問16(スケジュール)
- 令和5年度 秋期 午前Ⅱ 問17(スケジュール)
- 令和2年度 10月 午前Ⅱ 問11:直列化可能性に関する問題(スケジュール)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)