잠금 기반
읽기/쓰기 충돌
읽는 동안 쓰기를 기다리게 하거나, 쓰는 동안 읽기를 제한한다.
장점
충돌을 명시적으로 직렬화한다.
비용
대기, timeout, 데드락 관리가 필요하다.
두 접근은 경쟁 관계가 아니라 조합된다. 일반 읽기는 MVCC로 가볍게, 쓰기 충돌은 잠금과 충돌 감지로 다룬다.
읽는 동안 쓰기를 기다리게 하거나, 쓰는 동안 읽기를 제한한다.
충돌을 명시적으로 직렬화한다.
대기, timeout, 데드락 관리가 필요하다.
과거 버전 스냅샷을 읽어 쓰기와 덜 충돌한다.
읽기 위주 워크로드에서 동시성이 높다.
버전 저장, 정리, 쓰기 충돌 감지가 필요하다.