ホーム > データベーススペシャリスト試験 > 2013年
データベーススペシャリスト試験 2013年 午前2 問19
トランザクション管理の直列化可能スケジュールを説明したものはどれか。
ア:デッドロックの発生を最小限に抑えるために、可能な限りトランザクションを直列に実行するスケジュール。
イ:トランザクションの前後関係を考慮しながら、処理時間が最短になるようにトランザクションを直列に実行するスケジュール。
ウ:トランザクションを順番に実行した場合と同じ結果をもつように、並行実行するスケジュール。(正解)
エ:読取り専用トランザクションは並行実行するが、更新を行うトランザクションは直列に実行するスケジュール。
解説
トランザクション管理の直列化可能スケジュールとは【午前2 解説】
要点まとめ
- 結論:直列化可能スケジュールとは、トランザクションを並行実行しても、順番に実行した場合と同じ結果になるスケジュールです。
- 根拠:データベースの整合性を保つために、並行実行の結果が直列実行と等価である必要があります。
- 差がつくポイント:直列化可能性は「結果の等価性」に着目し、単に直列実行や処理時間短縮とは異なる概念である点を理解しましょう。
正解の理由
選択肢ウは「トランザクションを順番に実行した場合と同じ結果をもつように、並行実行するスケジュール」と説明しています。これは直列化可能スケジュールの定義そのものであり、並行実行の利点を活かしつつ、データの一貫性を保証するための基本的な考え方です。したがって、正解はウです。
よくある誤解
直列化可能スケジュールは単にトランザクションを直列に実行することではありません。並行実行も可能であり、結果が直列実行と同じになることが重要です。
解法ステップ
- 問題文の「直列化可能スケジュール」の定義を確認する。
- 選択肢の説明が「直列実行と同じ結果をもつ並行実行」であるかを判断する。
- 「単に直列に実行する」や「処理時間短縮」などの表現は直列化可能性の定義と異なることを理解する。
- 最も正確に定義を表現している選択肢を選ぶ。
選択肢別の誤答解説
- ア: デッドロック回避のために直列実行するという説明は誤り。直列化可能スケジュールは並行実行も含む。
- イ: 処理時間短縮を目的に直列実行するという説明は直列化可能性の定義と異なる。
- ウ: トランザクションを順番に実行した場合と同じ結果をもつ並行実行のスケジュールであり正解。
- エ: 読取り専用トランザクションだけ並行実行するという条件は直列化可能スケジュールの定義ではない。
補足コラム
直列化可能スケジュールはデータベースのトランザクション管理で最も重要な概念の一つです。これにより、複数のトランザクションが同時に実行されても、データの整合性が保たれます。実際のDBMSではロックやタイムスタンプ方式などで直列化可能性を保証しています。
FAQ
Q: 直列化可能スケジュールと直列スケジュールはどう違いますか?
A: 直列スケジュールはトランザクションを一つずつ順番に実行するが、直列化可能スケジュールは並行実行も可能で結果が直列実行と同じになるものです。
A: 直列スケジュールはトランザクションを一つずつ順番に実行するが、直列化可能スケジュールは並行実行も可能で結果が直列実行と同じになるものです。
Q: なぜ直列化可能スケジュールが重要なのですか?
A: 並行実行の効率性を保ちつつ、データの一貫性と整合性を保証するために不可欠だからです。
A: 並行実行の効率性を保ちつつ、データの一貫性と整合性を保証するために不可欠だからです。
関連キーワード: トランザクション管理, 直列化可能スケジュール, データベース整合性, 並行制御, デッドロック