기출 XML DB, RDB, NATIVE (Embedded)DB 비교

agnusdei·2025년 5월 29일

Database

목록 보기
72/76

✅ XML DB, 관계형 DB, 임베디드 DB 방식의 특징 및 장단점 비교


1. 정의

  • XML DB (XML Database)
    XML(eXtensible Markup Language) 기반의 문서형 데이터를 저장, 관리, 질의하는 데이터베이스.
    문서 중심(Document-centric)의 비정형/반정형 데이터 처리에 특화되어 있으며, 구조적 탐색을 위한 XPath, XQuery 질의어를 제공함.

  • 관계형 DB (Relational Database, RDB)
    데이터를 정형화된 테이블 형태(행/열)로 저장하고, SQL(Structured Query Language)로 질의 및 조작하는 전통적인 데이터베이스.
    정형 데이터 처리에 최적화되어 있으며, 트랜잭션과 무결성 보장에 강점을 가짐.

  • 임베디드 DB (Embedded Database)
    애플리케이션 내부에 포함되어 동작하는 경량화된 DB.
    서버 없이 앱 자체 프로세스 내에서 작동하며, 정형~비정형 데이터까지 다양한 구조의 로컬 데이터 처리에 활용됨.


2. 데이터 유형별 대응성

DB 유형주 대상 데이터 유형설명
XML DB반정형 / 비정형문서형 데이터(XML, XHTML 등) 저장과 계층적 질의에 특화
관계형 DB정형스키마 기반 구조화된 데이터(ERP, 고객 정보 등)에 적합
임베디드 DB정형~비정형 혼합앱의 목적에 따라 키-값, 객체, JSON 등 다양한 형태 수용 가능

3. 구조 및 처리 방식 비교

항목XML DB관계형 DB임베디드 DB
데이터 구조트리(Tree) 기반 문서 구조테이블(Table) 기반목적에 따라 테이블 / 키-값 / 문서 등
질의 언어XPath, XQuerySQLAPI 기반 / 경량 SQL
스키마 적용느슨함 (DTD, XML Schema 선택적)엄격함 (정규화 필수)없음~선택적 (자유로움)
저장 단위문서(Document)행(Row), 열(Column)파일 또는 메모리 내부 구조

4. 장단점 비교

유형장점단점
XML DB- 문서 구조 직접 표현 가능
- 비정형/반정형 데이터에 적합
- XPath/XQuery로 계층 탐색 가능
- 질의 성능 낮음
- 복잡한 구조 처리 시 오버헤드
- 트랜잭션/관계형 조작 부적합
관계형 DB- 정형 데이터 처리 최적
- SQL 표준화 및 무결성/트랜잭션 우수
- 대규모 데이터 안정 처리 가능
- 비정형/계층형 데이터 표현 어려움
- 구조 유연성 부족
임베디드 DB- 경량, 빠른 응답속도
- 설치 불필요, 서버리스 구조
- 모바일/IoT 환경 최적
- 확장성, 동시성 낮음
- 고급 질의/복잡 관계 처리 어려움

5. 활용 목적별 비교

활용 목적적합 DB 유형설명
문서 저장 및 구조적 탐색XML DB전자문서, 메시지(XML 기반), 정책 문서 등
트랜잭션 중심 업무관계형 DB금융, 회계, ERP 등 정형 데이터 중심 업무
경량 내장형 처리임베디드 DB모바일 앱, IoT 디바이스, 게임 클라이언트 등

6. 핵심 용어 정리

용어설명
XPathXML 문서 내 노드를 탐색하는 질의 언어
XQueryXML 문서 내 데이터 조작 및 필터링을 지원하는 함수 기반 질의 언어
SQL관계형 데이터 질의 및 조작을 위한 표준 언어
DTD / XML SchemaXML 문서의 구조 정의를 위한 메타데이터 기술
Key-Value Store키를 통해 값을 조회하는 단순한 데이터 저장 방식 (임베디드 DB에서 자주 사용됨)

7. 결론

  • XML DB는 문서 중심의 반정형/비정형 데이터를 구조적으로 저장하고 탐색하는 데 특화되며, 일반적인 정형 데이터 처리에는 부적합.
  • 관계형 DB는 정형화된 데이터를 안정적으로 처리할 수 있는 범용적 데이터베이스로, 구조적 제약이 엄격하나 트랜잭션, 무결성 측면에서 강력함.
  • 임베디드 DB는 앱 내에 가볍게 포함되어 로컬 처리 성능이 뛰어나며, 다양한 데이터 형태를 저장 가능하나 확장성과 고급 기능은 제한적임.

profile
DevSecOps, Pentest, Cloud(OpenStack), Develop, Data Engineering, AI-Agent

0개의 댓글