임베디드 DB(Embedded Database)에 대해 설명하시오.
임베디드 데이터베이스(Embedded DB) 란,
**애플리케이션 내에 직접 통합(내장)되어 실행되는 경량형 데이터베이스 관리 시스템(DBMS)**으로,
별도의 DB 서버 없이도 프로그램 자체에서 데이터 저장 및 관리를 수행할 수 있는 형태의 DB이다.
"애플리케이션 안에 함께 동작하는 DB"
일반적으로 모바일 기기, IoT, 산업용 기기, 스마트가전, 차량 내 시스템 등에서
리소스가 제한된 환경에서 독립적이고 효율적인 데이터 관리를 위해 사용된다.
| 항목 | 설명 |
|---|---|
| 경량화 | 리소스 제한 환경(메모리, CPU, 저장소)에 적합 |
| 독립 실행 | 서버 설치 없이 애플리케이션 단독 동작 가능 |
| 빠른 접근 속도 | 동일 프로세스 내에서 DB 접근으로 I/O 비용 절감 |
| 내장 시스템 최적화 | 임베디드 장치 내 OS/플랫폼에 맞춘 최적화 가능 |
| 보안 및 안정성 | 외부 접속 차단으로 보안성 및 무결성 확보 가능 |
| 항목 | 서버형 DB | 임베디드 DB |
|---|---|---|
| 아키텍처 | 클라이언트 ↔ DB서버 | 애플리케이션 내부 포함 |
| 데이터 접근 | 네트워크 기반 | 로컬 메모리 또는 파일 기반 |
| 실행 위치 | 별도 DB 프로세스 | 애플리케이션 프로세스 내부 |
| 동작 방식 | 연결 요청 → 쿼리 처리 | 직접 함수 호출 또는 API로 처리 |
[애플리케이션]
├─ [비즈니스 로직]
├─ [임베디드 DB 엔진] ← 내부에 SQLite, LevelDB 등 포함
└─ [스토리지] (파일/메모리/플래시 등)
| DBMS | 설명 |
|---|---|
| SQLite | C로 작성된 경량 관계형 DB. Android, iOS 기본 내장. ACID 지원. |
| Berkeley DB | 오라클 제공 Key-Value DB. 트랜잭션 지원, 파일 기반 |
| LevelDB | Google 개발. 고속 Key-Value 저장용 NoSQL (log-structured merge tree 사용) |
| RocksDB | Facebook이 LevelDB를 개선. 고성능 SSD 최적화 |
| Realm DB | MongoDB 제공. 모바일용 객체형 DB. 실시간 동기화 기능 |
| UnQLite | NoSQL 형식 JSON 저장, Key-Value 쿼리 지원 |
| DuckDB | 컬럼 기반 분석형 DB. 로컬 분석 및 머신러닝에 사용 |
| 항목 | 설명 |
|---|---|
| 내장형(Embedded) | DB 엔진이 애플리케이션에 라이브러리 형태로 포함됨 |
| 경량화(Lightweight) | 수십 KB ~ 수 MB 수준의 적은 설치 용량 |
| 빠른 처리속도 | 네트워크 없이 로컬에서 빠른 I/O 처리 가능 |
| 오프라인 동작 | 서버 연결 없이 단독 작동 가능 |
| ACID 지원 | SQLite, Realm 등 일부는 완전한 트랜잭션 보장 |
| 구분 | 임베디드 DB | 서버형 DB |
|---|---|---|
| 설치 방식 | 라이브러리 포함 | 별도 서버 설치 필요 |
| 데이터 저장 위치 | 로컬 파일 | 서버 및 네트워크 스토리지 |
| 동시접속 | 단일 또는 제한적 | 수천 명 이상 가능 |
| 예시 | SQLite, LevelDB | MySQL, PostgreSQL, Oracle |
| 분야 | 활용 방식 |
|---|---|
| 모바일 앱 | 안드로이드 앱에서 SQLite로 사용자 데이터 저장 |
| IoT 센서 장비 | 데이터 수집 후 로컬 저장 → 추후 전송 |
| 차량 인포테인먼트 | 내비게이션 정보, 로그 저장 |
| 스마트 가전 | 냉장고, 세탁기 등 상태 및 사용 로그 기록 |
| 오프라인 앱 | 동기화 전 임시 저장소로 사용 (PouchDB 등과 연계 가능) |
"임베디드 DB는 컴퓨터 속 앱이 스스로 기록장(노트)을 갖고 있는 거예요. 인터넷이 없어도 메모하고 기억할 수 있어서 똑똑한 장비들한테 꼭 필요해요!"
임베디드 DB는 서버를 구축하지 않고도 애플리케이션에서 자체적으로 데이터 저장 및 처리가 가능하도록 설계된 경량 고속 DBMS이다.
현대의 스마트폰, IoT, 임베디드 시스템에서 경량성, 빠른 처리, 독립 실행이라는 강점을 살려 널리 사용되며, 향후에도 엣지 컴퓨팅, 오프라인 앱, 스마트디바이스 기반 산업군에서 중심적인 역할을 지속할 것으로 기대된다.