인메모리 데이터베이스
설명 영상 정보관리기술사 - 인메모리 데이터베이스 · 2:15
영상 페이지에서 보기: 정보관리기술사 - 인메모리 데이터베이스
왜 배우는가: 인메모리 데이터베이스는 응답 시간이 중요한 금융·통신·실시간 제어 시스템에서 핵심 기술로 쓰인다. 디스크 기반 DBMS와의 차이, 휘발성 문제, 지속성 확보 방법은 기술사 시험에서 함께 묻는 대표 쟁점이다.
출제 이력: 제117회 1교시 10번, 제92회 4교시 4번
1. 한 줄 정의와 핵심 키워드
인메모리 데이터베이스는 데이터를 디스크가 아닌 주기억장치에 상주시켜 저장·처리하는 DBMS이다.
핵심 키워드
- 주기억장치 상주: 데이터의 기본 저장 위치가 RAM이다.
- 디스크 I/O 제거: 탐색과 회전 지연이 없어 응답이 빠르다.
- 휘발성: 전원이 끊기면 데이터가 사라지는 구조적 한계다.
- 지속성 확보: 스냅샷, 트랜잭션 로그, NVRAM으로 보완한다.
- 실시간 처리: 응답 시간의 예측 가능성을 중시한다.
- MMDBMS(주기억장치 데이터베이스): 같은 개념을 가리키는 다른 이름이다.
2. 개념 풀이
쉽게 말하면 데이터 전체를 메모리에 올려 두고 읽고 쓰는 데이터베이스다. 평소에는 데이터를 디스크에 두고 필요할 때 메모리 버퍼로 가져오는 방식과 반대 구조다.
정식 정의는 다음과 같다. 인메모리 데이터베이스(IMDB)는 주기억장치(메인 메모리)에 설치되어 운영되는 데이터베이스 관리 시스템이다. 메인 메모리 데이터베이스(MMDB), 메모리 상주 데이터베이스(memory resident database), 실시간 데이터베이스(RTDB)라고도 부른다. 이름은 달라도 데이터의 주 저장 장소가 메모리라는 점은 같다.
이 방식이 빠른 이유는 두 가지다. 첫째, 디스크 접근이 메모리 접근보다 느리므로 디스크를 건너뛰면 조회 시간이 줄어든다. 둘째, 디스크를 전제로 한 복잡한 최적화 알고리즘이 필요 없어 실행되는 CPU 명령이 적다. 메모리에 있는 데이터는 탐색 시간이 없으므로 디스크보다 빠르고 예측 가능한 성능을 낸다.
핵심 용어 풀이
- 주기억장치(메인 메모리): CPU가 직접 접근하는 RAM 계층이다. 디스크보다 접근 속도가 빠르다.
- 휘발성 RAM: 전원이 소실되면 저장된 내용이 지워지는 성질이다. 인메모리 방식의 가장 큰 약점이다.
- 예측 가능한 성능: 디스크 대기 시간이 없어 응답 시간의 편차가 작다. 실시간 응용이 이 특성을 요구한다.
- 실시간 데이터베이스(RTDB): 응답 기한을 보장하는 데 초점을 둔 데이터베이스다. 인메모리 방식과 함께 언급되는 경우가 많다.
3. 등장 배경과 필요성
통신, 공정 제어, 항공 예약, 주식 시장 같은 응용은 데이터에 실시간으로 접근하면서 일관성도 유지해야 한다. 이 응용들은 트랜잭션마다 시간 안에 응답하는 것을 요구한다. 디스크 기반 시스템은 디스크 I/O 때문에 처리량의 편차가 크다. 이 편차 때문에 실시간 응용은 성능을 예측하고 보장하기 어렵다.
대용량 저가 메모리가 보급되면서 흐름이 바뀌었다. 메모리 용량이 커지고 가격이 내려가자 데이터 전체를 메모리에 두는 것이 현실적인 선택이 되었다. 메인 메모리 데이터베이스는 이 변화에 맞춰 개발된 새로운 DBMS 유형이다. 데이터가 메모리에 영구적으로 상주하면 디스크 I/O가 처리량에 영향을 주지 않는다.
실무적으로는 실시간 처리 요구가 가장 직접적인 배경이다. 실시간 분석, 세션 관리, 캐시 계층처럼 빠른 읽기와 쓰기가 필요한 업무가 늘어났다. 이 업무들은 처리량 편차 문제를 디스크 기반 구조로는 해결하기 어렵다. 또 대용량 저가 메모리가 이 구조를 뒷받침하는 기술 기반이 되었다.
필요성의 근거는 성능만이 아니다. 인메모리 방식은 디스크 탐색 시간을 없애므로 조회 지연을 줄이고, 데이터를 메모리에서 바로 처리하므로 동시 처리 부하를 더 안정적으로 다룬다. 다만 휘발성이라는 한계가 있어, 등장 배경과 함께 지속성 확보 방안이 같이 제기되었다. 이 지속성 문제는 ACID 중 지속성(Durability)의 보장으로 정리된다.
디스크 I/O 없이 주기억장치 상주
4. 구성요소·원리·절차
IMDB의 구성요소는 메모리 상주 저장소, 인덱스·실행 엔진, 영속성(지속성) 모듈로 나뉜다. 데이터가 디스크 접근 없이 주기억장치에서 처리되므로 전통적 디스크 기반 DBMS의 버퍼 관리·디스크 I/O 경로가 줄어든다. 주기억장치 상주와 디스크 I/O 제거가 핵심 원리다.
디스크 접근이 없어 탐색 시간(seek time)이 사라지고, 응답시간의 예측 가능성이 높아진다.
| 구성요소 | 역할 | 설계 포인트 |
|---|---|---|
| 메모리 상주 데이터 저장소 | 테이블·인덱스를 주기억장치에 적재 | 행 지향 또는 열 지향(columnar) 구조 선택 |
| 인덱스·실행 엔진 | 해시·T-Tree 등 메모리 친화 인덱스, 단순한 최적화 | 디스크 페이지 단위 대신 포인터 기반 접근 |
| 동시성 제어 모듈 | 잠금 또는 다중 버전 동시성 제어(MVCC) | 짧은 트랜잭션에 맞춘 잠금 범위 축소 |
| 영속성 모듈 | 스냅샷, 트랜잭션 로그, NVRAM | 지속성(Durability) 보장 수단 |
| 복구·복제 모듈 | 장애 시 로그 재생, 레플리카 전환 | 고가용성 구현 |
표 설명: 인메모리 DBMS를 설계할 때 저장 구조와 영속성 모듈이 성능과 내구성을 함께 결정한다. 디스크 DBMS와 달리 버퍼 풀이 없으므로 영속성 설계가 별도 요소로 빠진다.
원리는 두 가지다. 첫째, 메모리 접근이 디스크 접근보다 빠르고 CPU 명령 수도 적다. 둘째, 휘발성 RAM을 보완하려고 로그와 스냅샷을 디스크에 남긴다. 둘째 원리 때문에 성능 이득의 일부는 로깅 비용으로 상쇄된다.
영속성 확보 절차는 다음과 같다.
- 트랜잭션 수행 시 변경 내용을 메모리에서 반영한다.
- 커밋 전에 트랜잭션 로그를 비휘발성 저장장치에 기록한다(WAL 방식).
- 일정 주기 또는 임계치마다 전체 상태를 스냅샷(체크포인트)으로 저장한다.
- 스냅샷 완료 후 그 이전 로그를 삭제해 저장 용량을 회수한다.
- 장애 발생 시 최신 스냅샷을 적재하고 이후 로그를 재생(redo)하여 복구한다.
스냅샷만 쓰면 마지막 스냅샷 이후 변경이 모두 손실된다. 로그를 함께 쓰는 이유가 여기에 있다. 분당 수천 건 연산에서는 로그 기록이 병목이 될 수 있어 그룹 커밋이나 NVRAM으로 완화한다.
그림 해설: 요청은 실행 엔진을 거쳐 메모리에서 처리되고, 변경은 로그와 스냅샷을 통해 비휘발성 영역으로 내려간다.
5. 관련 법령·기준·표준
공통 기준은 ACID 특성과 실시간 시스템의 응답 요구다.
| 항목 | 기준 또는 값 | 근거 성격 |
|---|---|---|
| 지속성(Durability) | 커밋된 변경이 장애 후에도 남아야 함 | ACID 정의 |
| 영속성 수단 | 스냅샷, 트랜잭션 로그, NVDIMM, NVRAM, 레플리케이션 | 위키 근거 |
| 로그 보관 | 스냅샷 완료 시점까지 보관 후 삭제 | 교재 근거 |
| 휘발성 복구 목표 | 전원 손실 후 스냅샷과 로그로 복구 | 교재 근거 |
| 비휘발성 메모리 | NVRAM은 전원 차단 후에도 데이터 유지 | 교재 근거 |
| 개인정보 보호 연계 | 데이터 암호화·접근제어 적용 | 보안 기술 자료 |
표 설명: 내구성 수단 중 로그와 스냅샷은 필수 조합이며, NVRAM은 로그 비용을 줄이는 선택 수단이다. 국내 법령상 IMDB 전용 기준값은 확인되지 않았다.
기준 수치로 확인된 값은 제한적이다. 응답시간은 업무별 SLA로 정한다.
개정 연혁은 확인되지 않아 쓰지 않는다. 암호화 키 관리와 접근제어는 보안 요구사항에 따라 설계한다.
6. 유형과 비교
인메모리 데이터베이스는 데이터를 주기억장치에 두는 방식이라 구현 제품과 영속성 확보 방법에 따라 여러 유형으로 나뉜다. 시험에서는 관계형 인메모리와 키-값 인메모리를 나눠 묻는 경우가 많다. 아래 표는 제품 유형별 특성을 비교한다.
| 비교 항목 | 관계형 인메모리(IMDB) | 인메모리 키-값 저장소 | 디스크 최적화 DBMS |
|---|---|---|---|
| 데이터 모델 | 관계형 테이블, SQL 질의 | 키와 값, 자료구조 단위 | 관계형 테이블, SQL 질의 |
| 주 저장 위치 | 주기억장치 | 주기억장치 | 디스크 버퍼 캐시 |
| 트랜잭션 | ACID 지원(제품별 차이) | 제한적 또는 선택 지원 | ACID 완전 지원 |
| 대표 제품 | SAP HANA, Oracle TimesTen | Redis | Oracle, MySQL |
이어지는 내용
- 7. 장단점·한계와 개선 방향
- 8. 사례 또는 계산 예제
- 9. 최근 동향과 쟁점
- 10. 흔한 실수와 채점 포인트
- 11. 암기 정리
- 12. 답안 구성 예시
- 13. 예상 변형 문항
로그인하면 하루 2페이지까지 무료로 전체를 읽을 수 있습니다.
앱에서 이 단원 읽기