2PL Variants

2PL 변형은 어떤 락을 언제까지 유지하느냐로 구분한다

Strict 2PL은 미확정 쓰기 노출을 막고, Rigorous 2PL은 모든 락을 종료 시점까지 유지한다.

Basic

unlockCOMMIT

S/X를 축소 단계부터 풀 수 있음

Strict

X until commitCOMMIT

X는 COMMIT까지 유지

Rigorous

all until commitCOMMIT

S/X 모두 COMMIT까지 유지

MVCC 혼합

read snapshot + write lockCOMMIT

읽기는 스냅샷, 쓰기는 락