tire-some 2022. 7. 8. 23:51
Multi Version Concurrency Control

 

말그대로 여러개의 버전을 만들어서 동시성을 제어한다는 의미다.

MySQL, Oracle, Postgresql 같은 RDB에서 트랜잭션 격리수준을 락을 사용하지 않고 제공하는 방법이다.

A라는 세션의 트랜잭션에서 X라는 데이터를 변경하여 Y가 된 상태지만,

RDB는 기존 X가 있던 버전의 데이터를 스냅샷 떠놓고

B라는 세션이 접속하면 스냅샷을 보여주어 이전 버전의 X데이터를 조회할 수 있도록 해준다.

격리수준을 높히면서도 동시성까지 챙기는 두마리 토끼 전법이다.

깊게 들어가면 복잡해서 아 이런게 있구나 하고 지나가고 면접 전에 열심히 공부하길 바란다.