320x100
320x100

JSON

- 장점

: 사람이 읽을 수 있는 방식

: 언어에 구애받지 않음

: 데이터 구조 일관성

: 브라우저 지원

: 프로그래밍 언어의 JSON API 지원

 

- 단점

: 광범위 하거나 중첩이 깊으면 파싱 오버헤드 발생

: 데이터 송수신 시 직렬화 및 역직렬화 과정이 성능에 영향

: 텍스트 기반이기 때문에 문자열 처리가 이진 데이터 처리에 비해 느림

: JSON에서 제공하는 데이터 타입이 제한되기 때문에 추가적인 장치가 필요하게됨

: 바이너리 데이터에 대한 지원이 없어 인코딩 및 디코딩이 필요

 

 

 

 

 

JSON의 대체제들

- Protocol Buffers

: 구글에서 개발한 바이너리 직렬화 형식

: JSON에 비해 인코딩과 디코딩이 간단하며, 빠른 바이너리 인코딩을 사용하면서 하위호환성 지원

 

- MessagePack

: 효율성과 속도를 위해 설계된 또 다른 이진 직렬화 형식

: 매우 컴팩트랑 데이터 표현을 생성하여 데이터 전송 크기를 줄일 수 있음

 

- BSON

: MongoDB에서 사용하는 방식으로 JSON과 유사한 구조를 가짐

: 바이너리 데이터 유형이 추가되어 효율성과 가독성의 균형을 제공

: 이미지나 멀티미디어와 같은 데이터를 처리하는데 유용한 바이너리 데이터 유형에 대한 기본 지원 제공

 

- Avro

: 아파치 하둡에서 개발된 데이터 직렬화 프레임워크

: 스키마 호환성과 성능에 강점

: 컴팩트 바이너리 인코딩을 지원하여 페이로드를 줄일 수 있고 다양한 언어를 지원

 

 

 

 

 

 

 

 

Reference

 

이양일 / JSON 보다 더 빠른 대안들 | 커리어리

JSON 은 데이터를 정의하는 포맷중 하나로 웹 서비스에서 서버와 클라이언트간에 통신시 많이 사용되고 있습니...

careerly.co.kr

 

JSON is Slower. Here Are Its 4 Faster Alternatives

Edit 2: Lots of insightful comments at the bottom, do give them a read, too, before going with any...

dev.to

 

300x250
728x90