728x90

InnoDB 2

MySQL Lock System

Lock(잠금) 이란 무엇일까? 여러 스레드가 하나의 자원에 접근 하는 것을 방지하기 위해 만든 개념이다. 예를 들면 하나의 화장실에 누군가 들어가 있다면 자물쇠로 잠궈두고, 그 사람이 해제하기 전까지 다른 사람은 접근하지 못하도록 하는 개념이 간단하게 Lock 의 개념이다. 이를 통해 우리는 하나의 자원에 대한 동기화를 진행할 수 있다. 데이터베이스 시스템에서도 이와 같은 개념이 필요한데, 왜냐하면 여러 사용자가 하나의 데이터에 대해 실시간으로 동시에 접근할 수도 있기 때문이다. 그래서 데이터를 보존해주기 위해 여러 개념들이 도입되어 있다. 예를 들면 트랜잭션도 하나의 서로 다른 사용자가 데이터에 접근할때 어떻게 보여주는가? 에 대한 개념을 구현한 것 중 하나라고 생각한다. 여하튼 MySQL 에서도 이..

InnoDB 엔진의 특성

들어가기 전에 앞서, 이 책은 Real My SQL 1판을 읽고 정리한 내용입니다. 틀린 내용이 있댜면 댓글로 남겨주시면 감사하겠습니다. InnoDB 엔진은 우리가 주로 사용하는 데이터베이스 엔진 중 하나이다. InnoDB 는 도대체 어떤 특성을 가지고 있을까? 그 특성에 대해서 간단히 공부해보도록 하자 첫번째 특성, InnoDB 는 프라이머리로 기본적으로 기본키로 클러스터링을 구성한다. 즉 프라이머리 키 값의 순서대로 FileSystem 에 저장된다는 뜻이다. 따라서 Primary Key 값을 통한 범위 탐색을 하게 되면 빠르게 검색할 수 있는 이유이다. 두번째 특성, InnoDB 는 잠금이 필요없는 일관된 읽기를 제공한다. InnoDB 스토리지 엔진은 MVCC 를 이용해서 락을 걸지 않고 읽기 작업을..

728x90