
1. MVCC(다중 버전 동시성 제어)와 언두 로그(Undo Log), 리두 로그(Redo Log)MVCC(다중 버전 동시성 제어)란?데이터베이스를 사용하는 가장 큰 이유 중 하나는 바로 트랜잭션 때문이다. 하지만 모든 DBMS가 트랜잭션 기능을 제공하지는 않는데, 대표적으로 MySQL의 스토리지 엔진 중 하나인 MyISAM이 그렇다. 대신 MySQL의 InnoDB는 레코드 단위까지 트랜잭션을 지원해준다. 레코드 수준의 트랜잭션을 지원하기 위해서 InnoDB는 MVCC를 사용한다. MVCC(Multi-Version Concurrency Control, 다중 버전 동시성 제어)란 데이터베이스가 동시성을 제어하기 위해 사용하는 방법 중 하나로, 스냅샷을 이용한다. 여기서 멀티 버전이라는 것은 스냅샷을 통해 ..