Tag Archives: InnoDB

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 – InnoDB는 인메모리 캐싱을 하는 고성능 솔루션

오라클 홈페이지에 가니 플러거블 스토리지 엔진 기반으로 동작하는 MySQL 아키텍쳐 그림을 볼 수 있었습니다. 플러거블(Pluggable)이라 함은 스토리지 방식을 선택할 수 있다는 것인데요. 이는 각각의 스토리지가 컴포넌트처럼 동작한다는 의미를 내포합니다.

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션

MySQL 5.5.5 이전 버젼에서는 MyISAM이 기본 스토리지 엔진이었습니다, 그런데 5.5.5부터는 InnoDB가 기본적으로 붙도록 바뀌었습니다. 쓰는 입장에서는 별 차이를 느낄 수 없을 것이라 생각됩니다만, 고도화 된 연산을 하는 부분에서는 성능차이가 발생 할 수 있을 것으로 생각됩니다. 즉, 개발된지 오래 된 MyISAM은 성능적으로 좀 느린 피드백을 줄 가능성이 높습니다. 그렇지만 256TB의 대용량을 지원 및 검색 기능은 무시 할 수 없을것 같군요.

MyISAM 스토리지의 기본피쳐는 아래와 같습니다.

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션

이와 비교할만한 DB로 InnoDB를 살펴봅시다.  보시는 바와 같이 스토리지는 64TB로 제한적이지만 주 메모리에 데이터와 인덱스(Index)를 상시 캐싱(Caching)하는 구조로 인한 퍼포먼스상의 잇점을 무시할 수 없을 것 같습니다. 즉, 인덱싱이 잘 되어져 있는 DB를 쓰시고 계신다면 설계시 감안했던 모든 잇점을 다 살리실 수 있을 것입니다.

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션

좀더 자세한 기술적 자료는 아래 링크를 참조하세요.

https://docs.oracle.com/cd/E19957-01/mysql-refman-5.5/storage-engines.html