인메모리 데이터베이스

인메모리 데이터베이스(In-memory Database, IMDB), 메인 메모리 데이터베이스(main memory database system, MMDB), 메모리 상주 데이터베이스(memory resident database)는 데이터 스토리지의 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 관리 시스템이다.

인메모리 데이터베이스는 디스크에 최적화된 데이터베이스보다 더 빠른데 그 까닭은 디스크 접근이 메모리 접근보다 느리기 때문이며, 이 데이터베이스는 내부 최적화 알고리즘이 더 단순하며 더 적은 CPU 명령을 실행한다. 메모리의 데이터에 접근하면 데이터를 조회할 때 검색 시간이 줄어들며 디스크보다 더 빠르고 더 예측 가능성 성능을 제공한다.

인메모리 데이터 스토리지의 잠재적인 기술적 문제는 RAM의 휘발성이다. 구체적으로 말해 전원이 소실될 경우나 고의적인 상황 등에서 휘발성 RAM 안에 저장된 데이터는 손실된다. 비휘발성 RAM 기술의 도입으로 인메모리 데이터베이스는 전력 손실에도 완전한 속도로 데이터를 유지할 수 있게 되었다.

ACID 지원 

간단히 말해 메인 메모리 데이터베이스는 데이터를 휘발성 메모리 장치에 저장한다. 이 장치들은 장치가 전력을 소실하거나 리셋될 때 저장된 모든 정보를 소실한다. 이 경우 IMDB는 ACID(원자성, 일관성, 독립성, 지속성)의 속성 중 지속성(durability)의 지원이 부재함을 의미할 수 있다. 휘발성 메모리 기반 IMDB는 다른 3가지 속성, 즉 원자성, 일관성, 독립성은 대개 지원이 가능하다.

수많은 IMDB는 다음의 매커니즘을 통해 지속성 지원을 추가한다:
 스냅샷 파일 또는 체크포인트 이미지
 트랜잭션 로그
 비휘발성 DIMM(NVDIMM)
 비휘발성 메모리(NVRAM)
 자동 장애 극복 기능이 포함된 데이터베이스 레플리케이션에 의존하는 고가용성 구현체

주요 제품

같이 보기 
 분산 파일 시스템
 임베디드 데이터베이스
 NoSQL

각주

외부 링크 
 The Rebirth of the In-Memory Database
 Special Issue on Main-Memory Database Systems, IEEE Data Engineering Bulletin

데이터베이스 관리 시스템