2024年(令和6年) 秋期 データベーススペシャリスト 午前 問15

トランザクションT1とT2の並行実行における不整合検索異状(inconsistent retrieval anomaly)の説明はどれか。

 ア  T1がxを更新した後コミットする前に、T2もxを更新すること
 イ  T1とT2同時にデータxを読み、T1はxを更新する。 T2は更新前のxの値に基づいてデータyを更新することによって、yの値がxの値に基づかなくなること
 ウ  先行するT1が更新したデータxを、後続のT2が四で処理を行うとき、T1がロールバックすると、T2もロールバックしなければならなくなること
 エ  先行するT1が更新したデータxを、後続のT2が読んで処理を行うとき、T1がロールバックすると、T2は結果的に誤った処理になること


答え イ


解説

 ア  T1がxを更新した後コミットする前に、T2もxを更新することは、ノンリピータブルリード(non-repeatable read)やファジーリード(fuzzy read)です。(×)
 イ  T1とT2同時にデータxを読み、T1はxを更新する。 T2は更新前のxの値に基づいてデータyを更新することによって、yの値がxの値に基づかなくなることは、不整合検索異状です。(〇)
 ウ  先行するT1が更新したデータxを、後続のT2が四で処理を行うとき、T1がロールバックすると、T2もロールバックしなければならなくなることは、ダーティリード対策です。(×)
 エ  先行するT1が更新したデータxを、後続のT2が読んで処理を行うとき、T1がロールバックすると、T2は結果的に誤った処理になることは、ダーティリードです。(×)


キーワード
・不整合検索異状

キーワードの解説
  • 不整合検索異状(inconsistent retrieval anomaly)
    並行実行する2つのトランザクションが同時に資源を読み、一方トランザクションが資源の値を書き換え、もう一方のトランザクションは読んだ値を使って処理して他の資源を書き換えると、2つのトランザクションを順次実行したときと結果が異なってしまうことです。

もっと、「不整合検索異状」について調べてみよう。

戻る 一覧へ 次へ