출처:https://www.tibco.com/ko/reference-center/what-is-an-in-memory-database
인메모리 데이터베이스를 사용하면 보조 기억 장치를 사용하는 기존 데이터베이스에 비해 빠르다. 보조 기억 장치에는 하드 디스크 또는 SSD가 포함된다. 컴퓨터의 중앙 처리 장치 CPU는 주 메모리에 저장된 데이터만 직접 접속할 수 있다. 따라서 컴퓨터는 보조 기억 장치의 데이터보다 훨씬 빠르게 주 메모리의 데이터를 읽고 쓸 수 있다. 이로 하여 인메모리 데이터베이스 처리가 엄청나게 빠르게 된다.
보통 데이터베이스 조작을 고속으로 필요로 하는 애플리케이션에 인메모리 데이터베이스를 사용한다.
다음 중 하나가 필요한 경우 인메모리 데이터베이스 적용을 고려하여야 한다.
다음과 같은 ACID 속성을 보장하는 것이 모든 데이터베이스의 전제조건이다.
데이터베이스의 주기적 스냅샷을 생성하여 디스크 드라이브(비휘발성)에 저장한다. 이 데이터베이스의 스냅샷은 특정 시점의 전체 데이터베이스의 복사본이다.
주기적인 스냅샷은 데이터를 보존하는 방법이지만, 내구성이 보장되지 않을 수 있다. 스냅샷을 저장한 뒤 언제든지 시스템 오류가 발생할 수 있다. 이 때 스냅샷 이후의 모든 변경 사항이 손실된다.
데이터베이스에 대해 진행한 모든 수정 기록을 보관한다. 이러한 트랜잭션 로그에는 데이터베이스에 대한 모든 삽입/수정 연산에 대한 세부 정보가 들어있다. 해당 로그는 오류 발생 시 데이터베이스를 복구하는 데 사용할 수 있는 비휘발성 파일에 저장된다.
분당 수천 건의 연산을 수행하는 데이터베이스에서 트랜잭션 로깅은 시스템의 성능과 저장 용량에 과부하는 제공한다. 대부분의 인메모리 데이터베이스는 스냅샷이 만들어 질 때까지 트랜잭션 로그를 보관하였다가 이후 삭제한다.
NVRAM은 전원이 꺼진 후에도 데이터를 유지한다. 인메모리 데이터베이스는 배터리로 동작하는 정적 RAM 또는 전기적으로 지울 수 있는 프로그래밍이 가능한 읽기 전용 메모리(EEPROM)을 사용한다.