[DB] MVCC

Na young·2024년 1월 12일

11. MVCC

11.1 MVCC

Multi-Version Concurrency Control (다중 버전 동시성 제어)

많은 사용자들이 동시에 트랜잭션을 일으킬 때 DB를 보호하는 것

락 없이 (lock-free) 읽기 성능을 증가시키는 기술

→ 잠금을 안쓰니까 RDBMS가 빠르게 작동, 다른 사람이 데이터를 삭제하거나 수정해도 읽기 시작했으면 데이터 사용 가능,

구현방식

  1. Undo Segment를 사용하는 방식 → 오라클/MySQL
  2. Pessimistic Lock 기반의 MGA 방식 → InnoDB 엔진

격리 수준이 다를 경우, 락이 걸리지 않고 동시에 읽는 것이 가능

동일한 격리수준일 경우, Undo Log를 동시에 여러 개 복제해서 읽기 락이 발생될 확률을 낮춤

일종의 데이터 변경사항에 따른 버전 컨트롤

11.2 Undo로그의 발전

  1. 트랜잭션의 롤백을 지원
  2. 트랜잭션의 격리수준을 지원
  3. MVCC를 지원
profile
개발어린이

0개의 댓글