IPA過去問ドリル

令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問12

テクノロジ/データベース

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

出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問12

正解:エ

解説

ダーティリードとは,あるトランザクションがまだコミットしていない(確定していない)更新後のデータを,別のトランザクションが読み取ってしまう現象です。設問のように,更新後データを参照した後で更新元のトランザクションがロールバックすると,参照した側は実際には存在しない(取り消された)データに基づいて処理を行ったことになります。

選択肢ごとの解説

  • 誤り。これはファントムリード(幻想読取り)の説明であり,他のトランザクションが挿入・コミットした行が,同じ検索条件の再参照で新たに出現する現象です。
  • 誤り。これは非再現読取り(non-repeatable read)の説明であり,他のトランザクションがコミットした更新によって,同じ行を再参照したときに値が変わってしまう現象です。
  • 誤り。これはデッドロックの説明であり,複数のトランザクションが互いにロックの解放を待ち合って処理が進まなくなる現象です。
  • 正しい。まだコミットされていない更新後データを他のトランザクションが参照し,その後更新元がロールバックされる現象が,ダーティリードの説明です。
データベーススペシャリストの過去問を演習モードで解く