過去問解きまくり研究所 ホーム

平成27年度 春期 午前Ⅱ 問16

トランザクション処理

ダーティリードに関する問題

二つのトランザクションが,同じデータに対して,更新,参照を行うときに発生し得るダーティリードの事象を記述したものはどれか。

答えと解説を見る

✓ これが正解エまだコミットしていないトランザクションAの更新後データをトランザクションBが参照した。その後,更新後データはロールバックされた。

解説

コミット前の更新を読み、その更新が取り消される事象がダーティリードです。

ダーティリードは、他のトランザクションがまだコミットしていない更新後のデータを読んでしまう事象です。読んだ値は、その後ロールバックされれば一度もデータベースに確定しなかった値になり、それを使った処理は誤った前提の上に成り立ちます。正解の記述では、トランザクションAのコミット前の更新後データをBが参照し、その後で更新がロールバックされているので、Bは確定しなかった値を読んだことになります。似た事象と見分けるには、読んだ相手の更新がコミット済みかどうかを見ます。コミット前の値を読むのがダーティリード、コミット済みの値の変化に出会うのは別の事象です。

ほかの選択肢はなぜ違うのか

この問題の用語

出典:平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)