XML DB (XML Database)
XML(eXtensible Markup Language) 기반의 문서형 데이터를 저장, 관리, 질의하는 데이터베이스.
문서 중심(Document-centric)의 비정형/반정형 데이터 처리에 특화되어 있으며, 구조적 탐색을 위한 XPath, XQuery 질의어를 제공함.
관계형 DB (Relational Database, RDB)
데이터를 정형화된 테이블 형태(행/열)로 저장하고, SQL(Structured Query Language)로 질의 및 조작하는 전통적인 데이터베이스.
정형 데이터 처리에 최적화되어 있으며, 트랜잭션과 무결성 보장에 강점을 가짐.
임베디드 DB (Embedded Database)
애플리케이션 내부에 포함되어 동작하는 경량화된 DB.
서버 없이 앱 자체 프로세스 내에서 작동하며, 정형~비정형 데이터까지 다양한 구조의 로컬 데이터 처리에 활용됨.
| DB 유형 | 주 대상 데이터 유형 | 설명 |
|---|---|---|
| XML DB | 반정형 / 비정형 | 문서형 데이터(XML, XHTML 등) 저장과 계층적 질의에 특화 |
| 관계형 DB | 정형 | 스키마 기반 구조화된 데이터(ERP, 고객 정보 등)에 적합 |
| 임베디드 DB | 정형~비정형 혼합 | 앱의 목적에 따라 키-값, 객체, JSON 등 다양한 형태 수용 가능 |
| 항목 | XML DB | 관계형 DB | 임베디드 DB |
|---|---|---|---|
| 데이터 구조 | 트리(Tree) 기반 문서 구조 | 테이블(Table) 기반 | 목적에 따라 테이블 / 키-값 / 문서 등 |
| 질의 언어 | XPath, XQuery | SQL | API 기반 / 경량 SQL |
| 스키마 적용 | 느슨함 (DTD, XML Schema 선택적) | 엄격함 (정규화 필수) | 없음~선택적 (자유로움) |
| 저장 단위 | 문서(Document) | 행(Row), 열(Column) | 파일 또는 메모리 내부 구조 |
| 유형 | 장점 | 단점 |
|---|---|---|
| XML DB | - 문서 구조 직접 표현 가능 - 비정형/반정형 데이터에 적합 - XPath/XQuery로 계층 탐색 가능 | - 질의 성능 낮음 - 복잡한 구조 처리 시 오버헤드 - 트랜잭션/관계형 조작 부적합 |
| 관계형 DB | - 정형 데이터 처리 최적 - SQL 표준화 및 무결성/트랜잭션 우수 - 대규모 데이터 안정 처리 가능 | - 비정형/계층형 데이터 표현 어려움 - 구조 유연성 부족 |
| 임베디드 DB | - 경량, 빠른 응답속도 - 설치 불필요, 서버리스 구조 - 모바일/IoT 환경 최적 | - 확장성, 동시성 낮음 - 고급 질의/복잡 관계 처리 어려움 |
| 활용 목적 | 적합 DB 유형 | 설명 |
|---|---|---|
| 문서 저장 및 구조적 탐색 | XML DB | 전자문서, 메시지(XML 기반), 정책 문서 등 |
| 트랜잭션 중심 업무 | 관계형 DB | 금융, 회계, ERP 등 정형 데이터 중심 업무 |
| 경량 내장형 처리 | 임베디드 DB | 모바일 앱, IoT 디바이스, 게임 클라이언트 등 |
| 용어 | 설명 |
|---|---|
| XPath | XML 문서 내 노드를 탐색하는 질의 언어 |
| XQuery | XML 문서 내 데이터 조작 및 필터링을 지원하는 함수 기반 질의 언어 |
| SQL | 관계형 데이터 질의 및 조작을 위한 표준 언어 |
| DTD / XML Schema | XML 문서의 구조 정의를 위한 메타데이터 기술 |
| Key-Value Store | 키를 통해 값을 조회하는 단순한 데이터 저장 방식 (임베디드 DB에서 자주 사용됨) |