문제: 메인 메모리 데이터베이스 관리 시스템(Main Memory Database Management System, MMDBMS)을 디스크 기반 DBMS와 비교하여 설명하시오. (25점)
| 구성 요소 | MMDBMS | 디스크 기반 DBMS |
|---|---|---|
| 저장 매체 | 주기억장치 (RAM) | 보조기억장치 (Disk) |
| 데이터 접근 방식 | 직접 접근 | 디스크 I/O를 통한 접근 |
| 인덱스 구조 | 트리 기반 + 해시 기반 | 주로 B-Tree 기반 |
| 복구 기법 | Checkpoint, Logging 보완 필요 | Logging, WAL(Write Ahead Logging), 백업 등 |
| 데이터 일관성 | 장애 시 휘발 위험 → 보조 메커니즘 필요 | 디스크 영속성으로 데이터 유지 가능 |
| 항목 | MMDBMS | 디스크 기반 DBMS |
|---|---|---|
| 속도 | 매우 빠름 (RAM 접근 속도) | 상대적으로 느림 (디스크 I/O 병목) |
| 복구/내구성 | 장애 시 휘발성 → Checkpoint, 로그 백업 필요 | 내구성 강함 (디스크 기반 저장) |
| 데이터 용량 | RAM 크기에 제한 | 디스크의 대용량 저장 가능 |
| 성능 목적 | 실시간, 고성능 요구 | 범용 시스템, 대용량 처리 |
| 비용 | RAM 비용이 높음 | 디스크는 상대적으로 저렴 |
| 예시 | VoltDB, SAP HANA, Redis (In-memory mode) | Oracle, PostgreSQL, MySQL |
| 구분 | MMDBMS | 디스크 기반 DBMS |
|---|---|---|
| 장점 | - 빠른 처리 속도 - 짧은 응답 시간 - 실시간 시스템에 적합 | - 안정성 높음 - 데이터 영속성 - 대용량 데이터 처리 적합 |
| 단점 | - 전원 차단 시 데이터 손실 위험 - RAM 비용 부담 - 복구 메커니즘 필수 | - 느린 디스크 I/O - 병목 현상 가능성 - 응답 시간 증가 |
MMDBMS는 고속 성능이 필요한 실시간 시스템에 적합하며, 디스크 기반 DBMS는 데이터의 영속성과 안정성이 중요한 전통적인 업무에 적합하다. 두 시스템은 상호 보완적으로 활용되며, 최근에는 Hybrid Architecture도 등장하여 양자의 장점을 함께 활용하고 있다.