Lost Update

나중에 쓴 절대값이 먼저 쓴 변경을 지운다

T1과 T2가 같은 100을 기준으로 계산하면, 마지막 WRITE가 이전 변경을 덮어 데이터 손실이 생긴다.

시간
T1
T2
결과
1
100 읽기

100 - 10 계산 준비

100 읽기

100 - 20 계산 준비

같은 기준값

두 계산이 모두 오래된 100에 기대고 있다.

2
90 쓰기

T1 변경이 먼저 반영된다.

80 계산

T1 변경을 보지 못한다.

현재 90

아직은 T1 결과가 존재한다.

3
커밋

자기 변경을 끝냈다.

80 쓰기

90을 읽지 않고 절대값 80으로 덮는다.

최종 80

T1의 -10이 사라진다.

정리: 쓰기-쓰기 충돌은 실제 데이터 손실이다. 잠금, 원자적 갱신, 버전 검사가 필요하다.