정보처리기사/정보시스템 구축관리

데이터 표현 형식 비교

glorypang 2025. 9. 30. 17:55
728x90
반응형
SMALL

XML (eXtensible Markup Language)

  • 형식: 태그 기반 트리 구조 (`<tag>내용</tag>`)
  • 특징: HTML의 한계를 극복할 목적으로 만들어짐
  • 장점: 스키마(XSD)·네임스페이스·메타데이터 표현 강함, 문서형 데이터에 적합
  • 단점: 태그 오버헤드 큼, 사람이 읽기 다소 번잡
  • 주요 용도: 문서/구성 파일, 레거시 시스템 연동, SOAP, 산업 표준 포맷
  • 예시
<user><id>1</id><name>Ana</name></user>

 

JSON (JavaScript Object Notation)

  • 형식: 키-값, 배열/객체 중심 ({}, [])
  • 장점: 가볍고 읽기 쉬움, 웹/모바일/REST API 표준, 대부분 언어에서 파싱 간단
  • 단점: 주석 미지원(표준 기준), 스키마 강제력 약함(별도 JSON Schema 필요)
  • 주요 용도: 웹 API, 설정, 로그, 마이크로서비스 간 데이터 교환
  • 예시
{"id": 1, "name": "Ana"}

 

CSV (Comma-Separated Values)

  • 형식: 행-열 표 형태, 구분자(보통 ,)로 필드 구분
  • 장점: 가장 가벼움, 스프레드시트/DB와 호환 최고, 스트리밍·대용량에 유리
  • 단점: 계층/중첩 데이터 표현 어려움, 스키마·타입 정보 없음, 구분자/인코딩 이슈
  • 주요 용도: 데이터 추출·이관(ETL), 분석용 덤프, 엑셀 교환
  • 예시
id,name
1,Ana

 

YAML (YAML Ain’t Markup Language)

  • 형식: 들여쓰기 기반의 계층 구조 표현 (key: value)
  • 장점:
    • 매우 읽기 쉬운 구조
    • 주석("#") 지원
    • 중첩 데이터, 리스트, 맵 구조 표현 용이
    • JSON보다 사람이 다루기 쉬움
  • 단점:
    • 들여쓰기 오류에 민감
    • 파서(Parsing) 구현 복잡
    • 대용량 데이터엔 부적합
  • 주요 용도: 설정파일(Docker, Kubernetes, CI/CD), 인프라 정의(IaC)
  • 예시:
user:
  id: 1
  name: Ana

 

 
728x90
반응형
LIST