コンテンツへスキップ
uencoder

Lost Update

更新紛失(ロストアップデート)は、二つのトランザクションが同じ古い値を読み取り、独立して計算して書き戻す際に発生する。後の書き込みが前の書き込みを上書きして失わせる。

目的

並行処理による更新紛失(lost update)の問題を認識し、適切な楽観的並行制御戦略を選択する。

メカニズム

T1 が X=100 を読み、T2 が X=100 を読み、T1 が X=110 を書き込み、T2 が X=120 を書き込むと、T1 の更新は上書きされて失われる。防御策は SELECT FOR UPDATE、バージョン番号チェック、CAS 原子操作である。

ユースケース

  • 並行更新(concurrent update)への防御
  • 楽観的ロックの設計
  • CASパターン

関連ツール

References