문제
임베디드 데이터베이스(Embedded Database)와 실시간 데이터베이스(Real-time Database)의 개념 및 특징을 비교하고, 각각의 적용 사례에 대해 설명하시오. (25점)
1. 개념(Concept)
1) 임베디드 데이터베이스 (Embedded Database)
- 정의: 애플리케이션에 내장(Embedded) 되어 동작하는 경량 데이터베이스.
- 특징: 독립적인 DBMS가 아니라 애플리케이션 내부에서 호출되고 실행됨.
2) 실시간 데이터베이스 (Real-time Database, RTDB)
- 정의: 정해진 시간 제약(Timing Constraint) 내에서 데이터를 수집, 처리, 저장하는 DB.
- 특징: **시간의 정확성(Time Correctness)**과 **데이터의 정확성(Data Correctness)**이 모두 중요.
2. 역할 및 목적(Role & Purpose)
| 구분 | 임베디드 DB | 실시간 DB |
|---|
| 목적 | 애플리케이션 내에 경량화된 DB를 탑재하여 빠른 접근 제공 | 시간 민감 데이터의 정시 처리 및 저장 |
| 활용 | IoT, 모바일 앱, 가전제품 등 | 항공, 국방, 자율주행, 공정제어 등 |
3. 구조 및 구성요소(Structure & Components)
1) 임베디드 DB 구조
- 애플리케이션 내부에 포함됨
- 주요 구성: 스토리지 매니저, 질의 처리기, 인덱스 엔진
- 예시: SQLite, Berkeley DB, LevelDB
2) 실시간 DB 구조
4. 원리(Principle)
| 구분 | 임베디드 DB | 실시간 DB |
|---|
| 트랜잭션 | 일반적인 트랜잭션 처리 | 시간제한 포함 트랜잭션 |
| 동작 원리 | API 호출로 앱 내에서 실행 | 시간 기반 스케줄링 알고리즘 사용 |
| 주요 제약 | 리소스 제약 중심 | 시간 제약 중심 |
5. 특징(Feature)
1) Embedded DB
- 경량(Lightweight)
- 설치/관리 불필요
- 단일 사용자 또는 단일 앱 환경
- 빠른 속도 (메모리 기반 처리 가능)
2) Real-time DB
- 실시간성 보장
- 우선순위 기반 처리
- 시간 일관성(Time Consistency) 중요
- 복잡한 스케줄링 필요
6. 비교(Comparison)
| 항목 | 임베디드 DB | 실시간 DB |
|---|
| 목적 | 소형 기기용 데이터 저장 | 시간 내 데이터 처리 |
| 설치 위치 | 애플리케이션 내부 | 독립 시스템 or 특수 하드웨어 |
| 처리 시간 | 일반 트랜잭션 속도 | Hard/Soft 시간 제한 보장 |
| 운영 환경 | 리소스 제한 환경 | 실시간 처리 요구 환경 |
| 예 | SQLite (Android 앱), LevelDB (Chrome) | RTDB in RTOS (항공/자율주행) |
7. 장단점(Pros & Cons)
| 구분 | 장점 | 단점 |
|---|
| Embedded DB | 설치 간편, 빠름, 경량 | 복잡한 기능 부족, 멀티유저 어려움 |
| Real-time DB | 시간 보장, 우선순위 처리 | 개발 복잡, 자원 소모 많음 |
8. 적용사례(Use Case)
1) Embedded DB
- 모바일 앱 데이터 저장소: 안드로이드 앱에서 SQLite 사용
- IoT 디바이스: 센서 데이터 저장용 내장 DB
2) Real-time DB
- 항공기 제어 시스템: 비행 제어 실시간 데이터 처리
- 자율주행 자동차: 장애물 감지 시 센서 데이터 실시간 처리
9. 핵심용어 정리
- SQLite: 오픈소스 임베디드 관계형 데이터베이스
- Hard Real-time: 반드시 시간 내에 작업 완료해야 하는 RT 시스템
- Soft Real-time: 시간 내 처리 권장되나 미준수 시도 허용되는 RT 시스템
- Temporal Consistency: 시간상 일관된 데이터 유지 여부
10. 어린이 버전 요약
임베디드 DB는 스마트폰 안에 있는 작은 수첩 같아요. 앱이 필요한 정보를 바로 수첩에서 꺼내 써요.
실시간 DB는 꼭 시간 안에 일을 끝내야 하는 알람 시계 같은 친구예요. 비행기나 로봇이 제시간에 반응하도록 도와줘요.