지난 포스팅에서는 트랜잭션의 직렬화와 스케줄의 개념을 다뤘다. 이번에는 한 단계 더 깊이 들어가서, 두 연산 사이의 충돌이 무엇인지, 스케줄이 충돌 직렬화 가능(Conflict Serializable)한지 판별하는 방법, 그리고 회복 가능성에 대해 정리해 본다.1. 두 연산의 충돌(Conflict of Two Operations)두 연산이 충돌한다는 것은 다음 세 가지 조건을 모두 만족하는 경우를 말한다.서로 다른 트랜잭션에 소속되어 있고같은 데이터에 접근하며최소 하나는 write 연산이다예를 들어 sched.3에서 트랜잭션 1과 트랜잭션 2가 모두 데이터 H에 접근하고, 그 중 write 연산이 포함되어 있다면 이 연산 쌍은 충돌 관계에 있다. 충돌 연산의 핵심 성질충돌 연산은 순서가 바뀌면 결과..