ダーティリード
Dirty Read
だーてぃりーど
他のトランザクションが更新してまだコミットしていないデータを読み取ってしまう現象。更新した側が後でロールバックすると、存在しなかった値に基づいて処理したことになる。隔離性水準をREAD COMMITTED以上にすれば防げる。
Related
他の資格での定義
あるトランザクションがコミットしていないデータを、別のトランザクションが読み取ってしまう現象。READ UNCOMMITTED分離レベルで発生しうる。読み取ったデータがロールバックされると不整合が生じる。
他のトランザクションが更新してまだコミットしていないデータを読み取ってしまう現象。更新した側が後でロールバックすると、存在しなかった値に基づいて処理したことになる。隔離性水準をREAD COMMITTED以上にすれば防げる。
あるトランザクションがコミットしていないデータを、別のトランザクションが読み取ってしまう現象。READ UNCOMMITTED分離レベルで発生しうる。読み取ったデータがロールバックされると不整合が生じる。
Past Exams
過去問での出題
過去問で 11 回出題(データベーススペシャリスト試験 10・ITサービスマネージャ試験 1)
- 令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問12(IPA の PDF を新しいタブで開きます)
- 令和5年度 春期 ITサービスマネージャ試験 午前Ⅱ 問23選択肢(IPA の PDF を新しいタブで開きます)
- 令和3年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問7(IPA の PDF を新しいタブで開きます)
- 平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9(IPA の PDF を新しいタブで開きます)
- 平成29年度 春期 データベーススペシャリスト試験 午前Ⅱ 問17選択肢(IPA の PDF を新しいタブで開きます)
- 平成27年度 春期 データベーススペシャリスト試験 午前Ⅱ 問16(IPA の PDF を新しいタブで開きます)
- 平成26年度 春期 データベーススペシャリスト試験 午前Ⅱ 問14(IPA の PDF を新しいタブで開きます)
- 平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問9(IPA の PDF を新しいタブで開きます)
- 平成24年度 春期 データベーススペシャリスト試験 午前Ⅱ 問15正解の選択肢(IPA の PDF を新しいタブで開きます)
- 平成23年度 データベーススペシャリスト試験 特別試験 午前Ⅱ 問15(IPA の PDF を新しいタブで開きます)
出典: 独立行政法人情報処理推進機構(IPA)の過去問題。問題文は IPA のサイトの PDF で確認できます。「選択肢」は、問題文ではなく選択肢に出たものです。用語名で照合しているため、関係の薄い問題が含まれることがあります。
Related
関連キーワードの用語
1つのトランザクションの中で同じデータを2回読み取ったとき、その間に他のトランザクションがそのデータを更新または削除してコミットしたために、1回目と異なる結果が読み取られる現象。反復不能読取りともいう。隔離性水準をREPEATABLE READ以上にすれば防げる。
1つのトランザクションの中で同じ条件の検索を2回行ったとき、その間に他のトランザクションが条件に合う行を挿入してコミットしたために、1回目には無かった行が現れる現象。既に読んだ行にロックを掛けても防げず、SQL標準では隔離性水準をSERIALIZABLEにする必要がある。
同時に実行される複数のトランザクションが、互いに関連する複数のデータを別々に読み書きすることで、データ間の整合性が崩れる異状。読取りスキューと書込みスキュー(ライトスキュー)がある。書込みスキューは、2つのトランザクションが同じデータを読んで制約を確かめたうえで別々の行を更新することで起こり、MVCCのスナップショット分離では防げないので、SERIALIZABLEの隔離性水準か明示的なロックで防ぐ。
複数のプロセスやトランザクションが共有資源に同時アクセスする際に、データの整合性を保つための制御機構。セマフォ、ミューテックスなどのOS同期機構や、ロック方式(共有ロック・専有ロック)、MVCC等のデータベース制御手法がある。デッドロックの防止も重要な課題。
データベースに対する一連の処理をまとめた論理的な作業単位。「全て実行」か「全て取消」のいずれかで完了し、途中で中断された状態を残さない。ACID特性(原子性、一貫性、独立性、永続性)を満たす必要がある。
トランザクション処理に求められる4つの特性。Atomicity(原子性:全て実行か全て取消)、Consistency(一貫性:整合性の維持)、Isolation(独立性:他のトランザクションの影響を受けない)、Durability(永続性:完了した結果は失われない)。
