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