VARIANTS

갱신 분실의 변형

갱신 분실은 단순 덮어쓰기뿐 아니라 read-modify-write와 조건 누락에서도 나타난다.

위험한 패턴
방지 기준
Read-Modify-Write

값을 읽고 애플리케이션에서 계산한 뒤 절대값으로 저장한다.

balance=90
Blind Overwrite

마지막 저장 요청이 이전 수정 내용을 통째로 덮는다.

last write wins
조건 없는 차감

잔액이나 버전 조건 없이 쓰면 경합 상황을 감지하지 못한다.

WHERE id only
구분
위험
대응
계산 위치

앱에서 이전 값 기준 계산

DB에서 원자적 update 또는 버전 조건

충돌 감지

영향받은 행 수를 확인하지 않음

0행이면 재조회 후 재시도