기출 embedded DB

agnusdei·2025년 5월 28일

Database

목록 보기
64/76

문제

임베디드 DB(Embedded Database)에 대해 설명하시오.


답안

1. 개념 (Concept)

임베디드 데이터베이스(Embedded DB) 란,
**애플리케이션 내에 직접 통합(내장)되어 실행되는 경량형 데이터베이스 관리 시스템(DBMS)**으로,
별도의 DB 서버 없이도 프로그램 자체에서 데이터 저장 및 관리를 수행할 수 있는 형태의 DB이다.

"애플리케이션 안에 함께 동작하는 DB"

일반적으로 모바일 기기, IoT, 산업용 기기, 스마트가전, 차량 내 시스템 등에서
리소스가 제한된 환경에서 독립적이고 효율적인 데이터 관리를 위해 사용된다.


2. 목적 및 필요성 (Purpose)

항목설명
경량화리소스 제한 환경(메모리, CPU, 저장소)에 적합
독립 실행서버 설치 없이 애플리케이션 단독 동작 가능
빠른 접근 속도동일 프로세스 내에서 DB 접근으로 I/O 비용 절감
내장 시스템 최적화임베디드 장치 내 OS/플랫폼에 맞춘 최적화 가능
보안 및 안정성외부 접속 차단으로 보안성 및 무결성 확보 가능

3. 구조 및 동작 원리 (Structure & Operation)

(1) 일반적인 서버형 DB와의 비교 구조

항목서버형 DB임베디드 DB
아키텍처클라이언트 ↔ DB서버애플리케이션 내부 포함
데이터 접근네트워크 기반로컬 메모리 또는 파일 기반
실행 위치별도 DB 프로세스애플리케이션 프로세스 내부
동작 방식연결 요청 → 쿼리 처리직접 함수 호출 또는 API로 처리

(2) 구조 예시

[애플리케이션]
 ├─ [비즈니스 로직]
 ├─ [임베디드 DB 엔진] ← 내부에 SQLite, LevelDB 등 포함
 └─ [스토리지] (파일/메모리/플래시 등)

4. 종류 및 주요 임베디드 DBMS (Types & Examples)

DBMS설명
SQLiteC로 작성된 경량 관계형 DB. Android, iOS 기본 내장. ACID 지원.
Berkeley DB오라클 제공 Key-Value DB. 트랜잭션 지원, 파일 기반
LevelDBGoogle 개발. 고속 Key-Value 저장용 NoSQL (log-structured merge tree 사용)
RocksDBFacebook이 LevelDB를 개선. 고성능 SSD 최적화
Realm DBMongoDB 제공. 모바일용 객체형 DB. 실시간 동기화 기능
UnQLiteNoSQL 형식 JSON 저장, Key-Value 쿼리 지원
DuckDB컬럼 기반 분석형 DB. 로컬 분석 및 머신러닝에 사용

5. 특징 (Characteristics)

항목설명
내장형(Embedded)DB 엔진이 애플리케이션에 라이브러리 형태로 포함됨
경량화(Lightweight)수십 KB ~ 수 MB 수준의 적은 설치 용량
빠른 처리속도네트워크 없이 로컬에서 빠른 I/O 처리 가능
오프라인 동작서버 연결 없이 단독 작동 가능
ACID 지원SQLite, Realm 등 일부는 완전한 트랜잭션 보장

6. 장단점 (Pros & Cons)

✅ 장점

  • 서버 구축 없이 독립 실행 가능
  • 설치, 구성, 유지보수가 필요 없음 (Zero-Configuration)
  • 빠른 응답 속도 (로컬 I/O)
  • 리소스 사용 최소화
  • 모바일, IoT에 최적화

❌ 단점

  • 동시 사용자 다수 처리에 제약
  • 대규모 트래픽 또는 분산 처리 불가능
  • 데이터 공유 어려움 (네트워크 기반 아키텍처 아님)
  • 기능 제한 (복잡한 인덱스, 고급 SQL 제한적)

7. 임베디드 DB vs 서버형 DB

구분임베디드 DB서버형 DB
설치 방식라이브러리 포함별도 서버 설치 필요
데이터 저장 위치로컬 파일서버 및 네트워크 스토리지
동시접속단일 또는 제한적수천 명 이상 가능
예시SQLite, LevelDBMySQL, PostgreSQL, Oracle

8. 활용 사례 (Use Cases)

분야활용 방식
모바일 앱안드로이드 앱에서 SQLite로 사용자 데이터 저장
IoT 센서 장비데이터 수집 후 로컬 저장 → 추후 전송
차량 인포테인먼트내비게이션 정보, 로그 저장
스마트 가전냉장고, 세탁기 등 상태 및 사용 로그 기록
오프라인 앱동기화 전 임시 저장소로 사용 (PouchDB 등과 연계 가능)

9. 관련 기술 및 확장

  • ORM 연동 (Room, CoreData 등): 개발 편의성 향상
  • 데이터 암호화 (SQLCipher 등): 보안 강화
  • 동기화 기능 (Realm Sync, Couchbase Lite): 서버 동기화 가능
  • 분석 처리 (DuckDB 등): 로컬 데이터 기반 분석 확장

10. 어린이 요약

"임베디드 DB는 컴퓨터 속 앱이 스스로 기록장(노트)을 갖고 있는 거예요. 인터넷이 없어도 메모하고 기억할 수 있어서 똑똑한 장비들한테 꼭 필요해요!"


11. 결론

임베디드 DB는 서버를 구축하지 않고도 애플리케이션에서 자체적으로 데이터 저장 및 처리가 가능하도록 설계된 경량 고속 DBMS이다.
현대의 스마트폰, IoT, 임베디드 시스템에서 경량성, 빠른 처리, 독립 실행이라는 강점을 살려 널리 사용되며, 향후에도 엣지 컴퓨팅, 오프라인 앱, 스마트디바이스 기반 산업군에서 중심적인 역할을 지속할 것으로 기대된다.


profile
DevSecOps Pentest🚩

0개의 댓글