2019年 秋期 ITサービスマネージャ 午前II 問21

トランザクションT1、T2の同時実行制御が適切に行われない場合に起こりえる、レコードX、Yの変更消失問題(lost update anomaly)に該当する処理はどれか。

 ア  T1がXとYを参照しながら値の集計を行っている最中に、T2がXを更新した。
 イ  T1がXを更新した後、コミットする前に、T2がXを参照したが、T1がロールバックした。
 ウ  T1がXを追加した後、コミットする前に、T2がXを参照し、その値を使ってYを更新した。
 エ  T1とT2がほぼ同時に参照し、その値に基づいてXをT1、T2の順番に更新した。


答え エ


解説
変更消失問題が発生するのは、T1とT2がほぼ同時に参照し、その値に基づいてXをT1、T2の順番に更新した(エ)時です。
この場合、T1変更は、T2の変更で上書きされてしまいます。


キーワード
・変更消失問題

キーワードの解説
  • 変更消失問題(lost update anomaly)
    複数のトランザクションが並列に動作する環境で、あるデータを同時に参照して変更した結果、先に書き込んだトランザクションの変更内容が後から書き込んだトランザクションの処理で上書きされ変更内容がなくなってしまう問題です。
    対策としてはデータにアクセスする際に排他制御を行うようにします。

もっと、「変更消失問題」について調べてみよう。

戻る 一覧へ 次へ