更新消失(ロストアップデート)とは?
更新消失(ロストアップデート)とは、2つのトランザクションが同じ行を読んでから別々に更新した結果、先に書いた側の更新が後の書込みで上書きされて消える異常。読取りと書込みの間に他者の更新が割り込むことで生じ、排他制御か更新時の版チェックで防ぐ。
ITサービスマネージャ試験の過去問では1回出題されています。
こうしんしょうしつろすとあっぷでーと
更新消失(ロストアップデート)の意味
2つのトランザクションが同じ行を読んでから別々に更新した結果、先に書いた側の更新が後の書込みで上書きされて消える異常。読取りと書込みの間に他者の更新が割り込むことで生じ、排他制御か更新時の版チェックで防ぐ。
更新消失(ロストアップデート)の具体例
在庫100を2人が読み、それぞれ10と5を引いて書き戻すと、結果が90か95になり85にならない。画面に読み込んだ在庫をそのまま更新する実装は危険で、UPDATE時にSET 在庫 = 在庫 - 10と相対値で書くか版番号で検査する。
更新消失(ロストアップデート)は試験でどう引っ掛けられる?
ダーティリードと違い、未コミットの値を読んでいなくても発生する。READ COMMITTEDにしただけでは防げず、明示的なロックか楽観ロックの版チェックが必要になる点が問われやすい。
更新消失(ロストアップデート)と関連する用語
更新消失(ロストアップデート)が出た過去問
2相ロッキングプロトコルに従うトランザクションで発生する可能性のある現象はどれか。
正解:デッドロック
要点:2相ロックは直列化可能性を保証するが、デッドロックは防げない
2相ロッキングプロトコルは、ロックを取得する成長相と解放する縮退相に分け、いったん解放を始めたら新たなロックを取らない方式である。これにより直列化可能性が保証され、ダーティリードやロストアップデート、ノンリピータブルリードといった不整合は防げる。しかし複数トランザクションが互いの保持するロックを待ち合う状態は避けられず、デッドロックは発生し得る。
出典:令和5年度 春期 ITサービスマネージャ試験 am2 問23(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。