최근 수정 시각 : 2025-04-02 01:25:44

인 메모리 데이터베이스

Database Management System
{{{#!wiki style="margin: 0 -10px;"
{{{#!folding [ 주요 DBMS ]
{{{#!wiki style="margin-bottom: -15px;"
파일:oracle-database.png 파일:MySQL 로고.svg 파일:Microsoft SQL Server 로고.svg파일:Microsoft SQL Server 로고(white).svg
파일:PostgreSQL 로고.svg 파일:MongoDB 로고.svg파일:MongoDB 로고 화이트.svg 파일:MariaDB 가로 로고.svg파일:MariaDB 가로 로고 화이트.svg
파일:logo_Redis(2024).svg 파일:supabase-logo-wordmark--light.svg파일:supabase-logo-wordmark--dark.svg 파일:Primary_Horizontal_Lockup_Full_Color.svg파일:Primary_Horizontal_Lockup_Full_Color_Inverted.svg
}}}}}}}}} ||
그 외 DBMS

1. 개요2. 주요 기업 및 제품

1. 개요

In-Memory Database
IMDB, 혹은 MMDB(Main Memory DBMS)라고도 한다.

보조기억장치(HDD, SSD 등)가 아닌 주기억장치(RAM)에 모든 데이터를 저장하고 관리하는 데이터베이스. 디스크 검색[1]보다 자료 접근이 훨씬 빠른 것이 가장 큰 장점이다. 데이터 양의 빠른 증가로 데이터베이스 응답 속도가 떨어지는 문제를 해결할 수 있는 대안이 인 메모리 데이터베이스이다. 전형적인 디스크 방식은 디스크에 저장된 데이터를 대상으로 쿼리를 수행하지만, 인 메모리 방식은 메모리상에 색인을 넣어 필요한 모든 정보를 메모리상의 색인을 통해 빠르게 검색할 수 있다.

다만 휘발성인 RAM에 모든 데이터를 저장하기 때문에 만일 DB 서버 전원이 갑자기 꺼져버릴 경우 모든 데이터가 한꺼번에 날아간다는 치명적인 단점이 있다. 그래서 로그인 세션 같은 날아가도 상관 없는 임시 데이터에 주로 쓰인다. 또한 속도를 위해 압축을 하지 않으며 RAM 용량이 부족할 경우 가상메모리를 사용하게 되어 역효과가 일어나기도 한다.

물론 DBMS의 속성 중 하나인 영속성(Durability)을 보장하기 위해 메모리에 INSERT/UPDATE/DELETE된 값들은 모두 디스크에 로그로 기록하며, DBMS가 재구동될 때 디스크로부터 로그 파일을 읽어와 메모리에 DBMS 구조를 모두 재구축하기도 한다.

한편, 기존 DBMS 제품도 인 메모리 데이터베이스를 사용할 수 있는 옵션을 제공하기도 한다. MySQL/MariaDB의 MEMORY 엔진이 그 중 하나.

2. 주요 기업 및 제품

  • Amazon ElastiCache (미국)
  • Redis (미국)
  • 알티베이스 (Altibase) (한국)
  • Kairos (한국)
  • SAP HANA (독일)[2]
  • GOLDILOCKS (한국)
  • TimesTen (미국, 오라클)
  • Memcached (미국)
  • SingleStore (미국, 구 Memsql)
  • Apache Ignite (미국)


[1] HDD보다 빠른 SSD나 SSD보다 빠른 NVMe도 DDR4 RAM보다는 10여배 가량 느리다.[2] HANA DBMS 자체는 서울대학교의 차상균 교수 연구팀이 개발했으며 현재도 SAP HANA 연구소는 서울대학교에 있다.