문제
데이터베이스 동시성 제어에서 **타임스탬프 순서 프로토콜(Timestamp Ordering Protocol)**의 동작 원리를 설명하고, 각 데이터 항목 X에 대해 TS(Ti) < R-timestamp(X) 조건에서 발생하는 상황과 처리 방법을 서술하시오. 또한 이 프로토콜이 교착상태를 방지하는 이유를 설명하시오.
정답
타임스탬프 순서 프로토콜은 각 트랜잭션에 고유한 타임스탬프를 부여하여 타임스탬프 순서로 직렬화를 보장한다. TS(Ti) < R-timestamp(X) 조건은 트랜잭션 Ti가 이미 더 늦은 트랜잭션이 읽은 데이터를 쓰려는 상황으로, 늦은 쓰기(late write) 규칙에 의해 Ti를 롤백시킨다. 이 프로토콜은 트랜잭션들이 타임스탬프 순서로만 실행되므로 순환 대기가 발생하지 않아 교착상태가 방지된다.
타임스탬프 순서 프로토콜Timestamp Ordering ProtocolR-timestampW-timestamp늦은 쓰기late write롤백직렬화순환 대기
해설
타임스탬프 기반 프로토콜은 각 데이터에 대해 읽기/쓰기 타임스탬프를 유지하며, 트랜잭션의 타임스탬프와 비교하여 순서를 결정한다. 늦은 쓰기가 발생하면 해당 트랜잭션을 롤백하여 직렬 가능성을 보장하며, 미리 정해진 순서로 실행되므로 교착상태가 원천적으로 방지된다.