스냅 샷 격리 및 쓰기 스냅 숏 격리에 약간 생각

데이터베이스에 존재 비정상적인 읽기예외를 쓰기 .

소위 스냅 샷, 트랜잭션 실행의 모든 ​​단계가 동일한 데이터 항목의 결과는 변화는 행동 등, 읽기, 비 반복 읽기를 피할 것 팬텀 데이터 이상을 읽을 수 없었다 읽을 수 있도록하는 것을 목표로하고있다.

그러나 그냥 같은 데이터를 읽는 것은 단지 이상 독서를 해결하지만, 때문에, 충분하지 않습니다 비정상적인 쓰기가 해결되지 않는 , 쓰기 예외를 들어,에서 더러운 쓰기 , 업데이트 손실부분적인 순서를 쓰기 논의의 3 종류. 이러한 이상이 쓰기를 들어, 피함으로써 스냅 숏 격리 WW 충돌 (일부 주문이 쓰기를 해결할 수없는) 해결, 피함으로써 격리-스냅 샷을 쓰기 RW 충돌이 해결 될 수 있지만, 그들이 공통적으로 가지고있는 것은 근본적 갈등의 특정 종류의 완전 제거 존재 . (세 가지의 비정상적인 정의는 "예술의 데이터베이스 트랜잭션"P8 및 P10를 참조하여 작성)

- 들어 더러운 쓰기 , 나는에 의존하는 생각 다중 버전 메커니즘 해결 될 수있는 한 삭제 기록 할 수있는이 트랜잭션의 롤백시의 버전으로, 다른 트랜잭션에게 서면 버전에 영향을주지 않습니다.

- 대한 손실 업데이트 , 우리는 할 필요가 동시에 RW WW의 갈등과 충돌이 발생 하므로, 한 당신이 결심에 그들 중 하나를 피할 수를 분리 스냅 샷이 문제를 해결할 수 분리 - 스냅 샷 작성합니다.

-하는 부분 위해 쓰기 , 그것은 RW 충돌이 나타납니다 ,하지만 반드시, WW 충돌을 표시하지 않을 때문에 스냅 숏 격리 예외가 해결되지 않으며, 쓰기 스냅 숏 격리를하지만 해결할 수 있습니다.

또한, 참조 쓰기 스냅 숏 격리는 스냅 숏 격리보다 더 엄격하기 어렵지 않다. 그러나, 나는 쓰기 스냅 샷 격리 동시성 분리는 반드시이 예에서 볼 수있는 스냅 샷보다 높은 아니라고 생각 :

 

T1

T2

T0

R (A1)

 

(T1)

 

W (A2)

T2

W (B1)

 

T3

 

범하다

T4

커밋 (실패)

 

 

T0에서 T1은 데이터 항목 A를 판독하고, 시각 (t1)에 따라, T2 데이터 항목을 갱신한다. 그래서 T4에서, T1 읽고 확인 집회는 T1 트랜잭션 롤백의 결과로 실패합니다. 스냅 샷 격리에서 T1 및 T2 트랜잭션은 제대로 제출하실 수 있습니다.

그러나 같은 스냅 숏 격리 쓰기 스냅 숏 격리이 좋지보다 동시성뿐만 아니라 현장 (집중 읽기 및 쓰기 집약적 인)에 대한 최종 결정을 설명 할 수 없다. 그것은 볼 수 있지만, 적어도, 쓰기 스냅 숏 격리는 여전히 최적화의 여지가있다.

추천

출처www.cnblogs.com/slontia/p/11387891.html