DEADLOCK
데드락
두 트랜잭션이 서로가 가진 락을 기다리면 더 이상 진행할 수 없는 순환 대기가 된다.
순환 대기
희생자 선택
T1A의 X-Lock 보유
T1 → T2B를 기다림
T2B의 X-Lock 보유
T2 → T1A를 기다림
Cycle
대기 간선이 닫히면 스스로 풀 수 없는 상태가 된다.
Victim
DBMS가 한쪽을 실패시키고 애플리케이션은 재시도한다.
해결: DBMS가 한쪽을 실패시키면 애플리케이션은 롤백 후 재시도한다.