[MongoDB] BSON

Zero·2023년 3월 14일
0

MongoDB

목록 보기
2/14

JSON 이란 ?

일반적으로 JSON은 JavaScript Object Notation의 줄임말로 Js언어의 일부로 정의되어 있는 형식이다. 일반적으로 key와 value 값의 형태로 채워져 있으며 직관적이고 간단한 특성으로 쉽게 이해할 수 있는 형태의 표현 방법이다.

{
	"_id" : "123456",
    "url" : "https://~~~~~",
    "name" : "~~~~~~~",
    "address" : {
    	"street" : "~~~~~",
        "location" : {
        	"coordinates" : "~~~",
            "type" : "~~~",
        }
    }
	...
}

JSON 등장 이전엔 XML을 웹에서 주고받는 데이터로 주로 사용했으며 JS의 사용이 증가하기 시작하면서 사람과 기계가 모두 읽을 수 있는 형태의 구조가 구현하기에도 쉽고 확인하기도 쉬웠기 때문에 점차 JSON의 사용이 증가하게 되었다.



BSON 이란 ?

BSON은 Binary JSON의 축약어로 JSON과 동일한 구조지만 Binary 형태로 변경된 구조를 말한다.

몽고DB가 처음 개발될 때 JSON을 이용해서 개발을 진행했는데 몇가지 문제점이 존재했다.

  • JSON은 텍스트 기반으로 구문 분석이 매우 느리다.
  • JSON은 공간 효율성과는 거리가 멀다(DB 문제)

그래서 고안해 낸것이 바로 BSON이다. JSON 구조의 좋은점은 그대로 가져가면서 기계가 빠르게 읽을 수 있는 binary 형태로 변경하여 저장한 것이다.

JSON에서 표현할 수 있는 방법은 문자열, boolean, 숫자, 배열이다. 그에 반해 BSON에서는 조금 더 디테일하고 유연하게 표현할 수 있는데, 숫자의 경우도 Integer, Float, Long, Decimal과 같이 분류가 되며 날짜의 형태도 저장이 가능하다

0개의 댓글