MVCC(Multiversion Concurrency Control)
- 커밋된 데이터만 읽는다.
- 데이터를 읽을 때 특정 시점 기준으로 가장 최근에 커밋된 데이터를 읽는다.(MySQL에서는 Consistent read라고 함)
- 데이터 변화(write) 이력을 관리한다.
- read와 write는 서로를 block하지 않는다.
Isolation level
read committed : read하는 시간을 기준으로 그 전에 커밋된 데이터를 읽는다.
repeatable read : 트랜잭션 시작 시간을 기준으로 그 전에 커밋된 데이터를 읽는다.
serializable : MySQL => MVCC로 동작하기 보다는 lock으로 동작한다. PostgreSQL => SSI(Serializable Snapshot Isolation) 기법이 적용된 MVCC로 동작한다.
read uncommitted : MVCC는 커밋된 데이터를 읽기 때문에 이 level에서는 보통 MVCC가 적용되지 않는다. PostgreSQL => read committed level처럼 동작한다.
'공부 기록 > 영상 후기' 카테고리의 다른 글
톰캣 #01 소개 (0) | 2023.04.11 |
---|---|
(2부) DB MVCC 이어서 설명합니다 ! MySQL & postgreSQL 예제와 함께 확인해 보세요 ! (feat. select ... for update) (0) | 2023.04.11 |
컨텍스트 스위칭 뽀개기! 의미와 종류와 왜 스레드 컨텍스트 스위칭이 더 빠르다고 하는지까지..! 이 모든 것을 시원~~하게 설명합니다!! (0) | 2023.04.10 |
[10분 테코톡] 나봄의 CORS (0) | 2023.04.10 |
[10분 테코톡] 멍토의 Blocking vs Non-Blocking, Sync vs Async (0) | 2023.04.10 |