INTERLEAVING
동시성 문제의 시작점
하나의 SQL도 내부적으로 읽기, 계산, 쓰기, 로그 기록 단계로 나뉘며 그 사이에 다른 트랜잭션이 끼어들 수 있다.
내 트랜잭션의 단계
끼어드는 실행
커밋은 로그 기준 확정
핵심: 문제는 SQL 한 줄이 길어서가 아니라, 여러 트랜잭션의 단계가 섞일 때 불변식이 깨질 수 있다는 점이다.