Unsafe Interleaving

같은 값을 읽고 쓰면 선행 그래프가 순환할 수 있다

두 트랜잭션이 모두 A=100을 읽고 각자 계산한 값을 쓰면, 충돌 순서가 서로를 앞세우는 모순을 만듭니다.

01 T1R1(A=100)T1은 90을 계산합니다.
02 T2R2(A=100)T2도 오래된 값으로 80을 계산합니다.
03 T1W1(A=90)T1 갱신이 먼저 기록됩니다.
04 T2W2(A=80)T2 쓰기가 T1 결과를 덮습니다.
충돌 제약
T1 before T2
W1(A) → W2(A)
cycle T2 before T1
R2(A) → W1(A)
방지 기준: 읽은 값을 다시 쓸 때는 잠금, 원자적 update, 낙관적 버전 컬럼 중 하나로 “내가 읽은 값이 아직 유효한지” 확인합니다.