DBデータベーススペシャリスト試験 午前Ⅱ
平成25年度春期 データベーススペシャリスト 午前Ⅱ 問19
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- アデッドロックの発生を最小限に抑えるために,可能な限りトランザクションを直列に実行するスケジュール
- イトランザクションの前後関係を考慮しながら,処理時間が最短になるようにトランザクションを直列に実行するスケジュール
- ウトランザクションを順番に実行した場合と同じ結果をもつように,並行実行するスケジュール
- エ読取り専用トランザクションは並行実行するが,更新を行うトランザクションは直列に実行するスケジュール
解き方のヒントを見る
境界と整合性を見極める視点
トランザクションの開始から終了までを一つの処理単位として捉え、途中状態と確定後の状態を分けて整理しながら、データの整合性がどの時点で保たれるべきかを確認するという観点です。
この問題で問われていること
設問では、複数の操作がどの処理単位に含まれるかと、処理の途中・完了後でデータの状態をどう区別して読むかに焦点を絞って、丁寧に考えます。
視点
処理のまとまり、状態の変化、確定の区切りを順に書き出し、各段階で同時に成立している前提を整理します。用語の定義と設問中の時系列を対応させると、判断の根拠を明確にできます。
確認ポイント
- 操作のまとまりと区切りを時系列で整理する
- 途中の状態と処理後の状態を分けて確認する
- 整合性を評価する対象と時点を対応させる
正解と解説を見る
正解
ウ
解説
直列化可能スケジュールとは、トランザクションを並行実行しても、その結果が何らかの直列実行と同じになるスケジュールです。
理由
直列化可能スケジュールは、複数のトランザクションを並行実行しながらも、結果がトランザクションをある順序で直列に実行した場合と等価になるものを指します。重要なのは実行結果の等価性です。
比較
デッドロックの抑制、処理時間の短縮、読取り専用か更新かによる実行方式の限定は、直列化可能性そのものの定義ではありません。並行実行を許しつつ、直列実行と同じ結果になる点が判断基準となる。
選択肢ア
これは不正解だよ。デッドロックの発生を抑えることはトランザクション管理上の対策に関する説明であり、直列化可能スケジュールの定義ではない。直列化可能性は、並行実行の結果が直列実行の結果と等価かどうかで判断する。
選択肢イ
これは不正解だよ。トランザクションを直列に実行し、前後関係や処理時間を考慮することは、この選択肢独自の実行方針である。直列化可能スケジュールは、処理時間の最短化ではなく、並行実行の結果が直列実行と等価になることを示す。
選択肢ウ(正解)
これは正解だよ。直列化可能スケジュールは、トランザクションを並行実行しても、順番に実行した場合と同じ結果を得られるスケジュールである。並行性を保ちながら、結果の正しさを直列実行との等価性で保証する。
選択肢エ
これは不正解だよ。読取り専用トランザクションを並行実行し、更新を行うトランザクションを直列にするという区分は、直列化可能性の一般的な定義ではない。更新を含む並行実行でも、結果が直列実行と等価なら条件を満たし得る。
学習のポイント
直列化可能性は、実行結果と直列実行との等価性で判断する。
出典:独立行政法人 情報処理推進機構(IPA)平成25年度春期 データベーススペシャリスト試験 午前Ⅱ 問19(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針