読取り異状(ダーティリード・反復不能読取り・ファントムリード)とは?
読取り異状(ダーティリード・反復不能読取り・ファントムリード)とは、同時実行制御が不十分なときに起きる3つの読取り不整合。ダーティリードは未コミットの値を読むこと、反復不能読取りは同じ行を2回読むと値が変わっていること、ファントムリードは同じ条件で再検索すると行数が増減することを指す。
ITサービスマネージャ試験の過去問では1回出題されています。
よみとりいじょう
読取り異状(ダーティリード・反復不能読取り・ファントムリード)の意味
同時実行制御が不十分なときに起きる3つの読取り不整合。ダーティリードは未コミットの値を読むこと、反復不能読取りは同じ行を2回読むと値が変わっていること、ファントムリードは同じ条件で再検索すると行数が増減することを指す。
読取り異状(ダーティリード・反復不能読取り・ファントムリード)の具体例
集計処理が売上合計を読んだ直後に別トランザクションが訂正して確定すると、その訂正がロールバックされても読んでしまうのがダーティリード。集計中に新規受注が挿入され、件数と合計金額が食い違うのがファントムリードにあたる。
読取り異状(ダーティリード・反復不能読取り・ファントムリード)は試験でどう引っ掛けられる?
反復不能読取りは既存行の更新・削除が原因、ファントムリードは行の挿入が原因という区別が要点。行ロックだけではファントムは防げず、範囲(ギャップ)ロックや述語ロックが必要になるためレベルの差が生じる。
読取り異状(ダーティリード・反復不能読取り・ファントムリード)と関連する用語
読取り異状(ダーティリード・反復不能読取り・ファントムリード)が出た過去問
2相ロッキングプロトコルに従うトランザクションで発生する可能性のある現象はどれか。
正解:デッドロック
要点:2相ロックは直列化可能性を保証するが、デッドロックは防げない
2相ロッキングプロトコルは、ロックを取得する成長相と解放する縮退相に分け、いったん解放を始めたら新たなロックを取らない方式である。これにより直列化可能性が保証され、ダーティリードやロストアップデート、ノンリピータブルリードといった不整合は防げる。しかし複数トランザクションが互いの保持するロックを待ち合う状態は避けられず、デッドロックは発生し得る。
出典:令和5年度 春期 ITサービスマネージャ試験 am2 問23(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。