ダーティリード
ダーティリード=未コミットの更新を読む。ロールバック後は読んだ値が無効になるとは?
意味
ダーティリードは、トランザクション分離レベルが低い場合に起こりうる代表的な問題の一つで、他のトランザクションの未確定(コミット前)の更新を読んでしまうことを指す。 ▍なぜ正解 T2はT1がまだコミットしていない更新値(200)を読み取っている。その後T1がロールバックしたため、T2が読んだ200という値は最終的には存在しなかったことになる。このように未コミットのデータを読んでしまう現象をダーティリードという。 ▍よくある間違い ファントムリードやノンリピータブルリードなど、他の分離レベル関連の現象と混同する。 ▍試験の狙い 「未コミットの値を読む」=ダーティリード。ロールバックで矛盾が顕在化する点が特徴。
?応用情報技術者試験での問われ方
表と擬似コードは、トランザクションT1とT2の実行順序を示す。T1がデータ項目Aを更新し、コミットする前にT2がAを読み取り、その後T1がロールバックした。この状況で生じる現象として最も適切なものはどれか。
答え:ダーティリード=未コミットの更新を読む。ロールバック後は読んだ値が無効になる
✓覚え方
ダーティ=汚れた(未確定の)データを読んでしまう。
「ダーティリード=未コミットの更新を読む。ロールバック後は読んだ値が無効になる」を、演習で定着させる。
無料ではじめる →応用情報技術者試験の過去問を、一問ごとの8-ways解説つきで。まずは無料で。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
ukamiru 用語集 · 応用情報技術者試験
