다중 버전 동시성 제어

· DB
1. MVCC(다중 버전 동시성 제어)와 언두 로그(Undo Log), 리두 로그(Redo Log)MVCC(다중 버전 동시성 제어)란?데이터베이스를 사용하는 가장 큰 이유 중 하나는 바로 트랜잭션 때문이다. 하지만 모든 DBMS가 트랜잭션 기능을 제공하지는 않는데, 대표적으로 MySQL의 스토리지 엔진 중 하나인 MyISAM이 그렇다. 대신 MySQL의 InnoDB는 레코드 단위까지 트랜잭션을 지원해준다. 레코드 수준의 트랜잭션을 지원하기 위해서 InnoDB는 MVCC를 사용한다. MVCC(Multi-Version Concurrency Control, 다중 버전 동시성 제어)란 데이터베이스가 동시성을 제어하기 위해 사용하는 방법 중 하나로, 스냅샷을 이용한다. 여기서 멀티 버전이라는 것은 스냅샷을 통해 ..
· DB
1. 동시성 제어(Concurrency Control)동시성 제어(Concurrency Control)이란?동시성 제어란 DBMS가 다수의 사용자 사이에서 동시에 작용하는 다중 트랜잭션의 상호간섭 작용에서 Database를 보호하는 것을 의미한다. 일반적으로 동시성을 허용하면 일관성이 낮아지게 되며 이를 그래프로 나타내면 아래와 같다. 다수 사용자의 동시 접속을 위해 DBMS는 동시성 제어를 할 수 있도록 Lock 기능과 SET TRANSACTION 명령어를 이용해 트랜잭션의 격리성 수준을 조정할 수 있는 기능도 제공한다. 이렇게 동시성을 제어하는 방법에는 낙관적 동시성 제어와 비관적 동시성 제어가 있다.  [낙관적 동시성 제어(Optimistic Concurrency Control)]사용자들이 같은 데..
코딩스토리
'다중 버전 동시성 제어' 태그의 글 목록