인-메모리 데이터베이스

인-메모리 데이터베이스는 NoSQL 방식에 속하며, 데이터 스토리지가 메인 메모리에 설치되어 운영되는 방식의 데이터베이스 시스템이다.

디스크(전통) 데이터베이스 VS 인-메모리 데이터베이스

디스크 데이터베이스

  • 데이터 스토리지가 디스크이다.
  • 디스크에 저장된 데이터를 대상으로 쿼리를 수행한다.
  • 디스크에 저장된 블록의 내용을 메인 메모리상으로 버퍼링하여 디스크 입출력(횟수)을 줄임으로써 빠른 데이터 관리 기능 제공을 위해 메인 메모리를 이용한다.

인-메모리 데이터베이스

  • 데이터 스토리지가 메인 메모리(RAM)이다.
  • 메모리상에 색인을 넣어 필요한 모든 정보를 메모리상의 색인을 통해 빠르게 검색한다.
  • 메인 메모리에서 바로 데이터를 검색하기 때문에 매체 접근 속도가 빠르다.
  • 내부 알고리즘들이 단순하여 적은 CPU 인스트럭션으로 수행된다.

인-메모리 데이터베이스의 단점

단점이라면 램(RAM)의 특성이 휘발성이라는 것이다. DB 서버 전원이 갑자기 꺼져버리면 안에 있는 자료들이 즉시 삭제 되어버린다. 그래서 로그인 세션 같은, 서버가 꺼져서 날아가도 상관 없는 임시 데이터에 주로 쓰인다. 거기다 속도 때문에 쓰는 것이기에 압축은 쓰지 않으며, 데이터에 비해 RAM 용량이 넉넉치 않을 경우 가상 메모리를 쓰게 되어 역효과가 일어나기도 한다.

인-메모리 데이터베이스의 종류

  • Redis
  • Amazon ElastiCache
  • Memcached