320x100
320x100
JSON
- 장점
: 사람이 읽을 수 있는 방식
: 언어에 구애받지 않음
: 데이터 구조 일관성
: 브라우저 지원
: 프로그래밍 언어의 JSON API 지원
- 단점
: 광범위 하거나 중첩이 깊으면 파싱 오버헤드 발생
: 데이터 송수신 시 직렬화 및 역직렬화 과정이 성능에 영향
: 텍스트 기반이기 때문에 문자열 처리가 이진 데이터 처리에 비해 느림
: JSON에서 제공하는 데이터 타입이 제한되기 때문에 추가적인 장치가 필요하게됨
: 바이너리 데이터에 대한 지원이 없어 인코딩 및 디코딩이 필요
JSON의 대체제들
- Protocol Buffers
: 구글에서 개발한 바이너리 직렬화 형식
: JSON에 비해 인코딩과 디코딩이 간단하며, 빠른 바이너리 인코딩을 사용하면서 하위호환성 지원
- MessagePack
: 효율성과 속도를 위해 설계된 또 다른 이진 직렬화 형식
: 매우 컴팩트랑 데이터 표현을 생성하여 데이터 전송 크기를 줄일 수 있음
- BSON
: MongoDB에서 사용하는 방식으로 JSON과 유사한 구조를 가짐
: 바이너리 데이터 유형이 추가되어 효율성과 가독성의 균형을 제공
: 이미지나 멀티미디어와 같은 데이터를 처리하는데 유용한 바이너리 데이터 유형에 대한 기본 지원 제공
- Avro
: 아파치 하둡에서 개발된 데이터 직렬화 프레임워크
: 스키마 호환성과 성능에 강점
: 컴팩트 바이너리 인코딩을 지원하여 페이로드를 줄일 수 있고 다양한 언어를 지원
Reference
300x250
728x90
'Development > Development' 카테고리의 다른 글
올바른 REST API 디자인 사례 (0) | 2024.02.17 |
---|---|
개발자의 학습과 성장 (0) | 2024.01.20 |
Anti-OOP: 분기 처리 (0) | 2024.01.20 |
구글에서 제안하는 오류 메시지 작성 방법 (0) | 2024.01.20 |
기획자가 알아야 할 오픈 API 활용 사례 (0) | 2024.01.20 |