동시에 실행되는 트랜잭션의 연산 순서를 정하는 작업.
정확한 결과를 만드는 스케줄은 하나의 트랜잭션 작업이 완전히 끝난 후 다른 트랜잭션 작업이 실행되는 것이다. 이런 스케줄을 Serial Schedule이라고 한다. 이는 항상 정확한 결과를 보장하기는 하지만 순차적으로 실행하기 때문에 throughput이 좋지 않게 된다.
그렇기 때문에 완전히 순차실행은 아니면서 serial schedule과 같은 결과를 내는 Serializability를 고려할 필요가 있다. 특정 스케줄이 serial schedule과 같은 결과를 낼 때, 스케줄이 "Serializable"하다고 한다.
이 때 충돌이 발생한다고 할 수 있다.
위 경우는 Before와 after가 모두 같은 결과를 낼 것이다. 이 경우에는 conflict serializable하다고 말할 수 있으나(write 연산이 서로의 결과에 영향을 주지 않음),
이런 경우에는 T3의 Write(Q)가 먼저 발생하도록 T4의 write(Q)와 swap할 경우 결과가 달라질 수 있기 때문에 conflict serializable하다고 할 수 없다.
https://bit.ly/3FVdhDa
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.