2013-03-02 5 views
0

책의 6 장, 거래 처리 원칙 및 거기에 설명 된 업데이트 잠금의 개념은 나에게 분명하지 않습니다. 기본적으로, 내가 확실하지 않은 점은 업데이트 잠금을 쓰기 잠금으로 업그레이드하려고 할 때 변환 교착 상태가 발생하지 않는다는 것입니다. 업데이트 잠금을 쓰기 잠금으로 변환하는 동안 교착 상태가 발생하지 않는다고 가정 해 보겠습니다. 그러면 다음 시나리오를 가질 수 없습니다.잠금 변환 업데이트 잠금

u1 [x] r2 [x] w1 [x] w1 [z] w2 [z].

u1 [x]는 트랜잭션 1이 x에 대한 업데이트 잠금을 가짐을 의미합니다.

위의 히스토리 트랜잭션 2는 x에서 1 이전이지만 z에서 1 이후입니다. serializability를 위반하지 않는가?

이 문제를 해결해 주시면 정말 고맙겠습니다.

답변

0

Oh nvm, 방금 읽었을 때 동시 읽기 작업이있는 경우 업데이트 잠금에서 쓰기 잠금으로 업그레이드 할 수 없다고 읽었습니다. 그래서 예 : serializability를 위반하지 않을 것입니다. :). 또한 누군가가 이것을 우연히 발견하게되면 읽기 잠금을 업데이트 잠금으로 업그레이드 할 수 없습니다. 잠금 잠금으로 인해 교착 상태가 발생할 수 있기 때문입니다.