mongoDB는 Document로 데이터를 관리한다. BSON의 형태로 저장하고, 보통 읽기 쉬운 JSON의 형태로 출력된다.
JSON은 무엇이고 BSON이 무엇인지 차이를 알아보자.
JSON(JavaScript Object Notation)은 데이터를 저장하거나 전송할 때 많이 사용되는 경량의 DATA 교환 형식을 말한다.
JSON 표현식은 사람과 기계 모두 이해하기 쉬우며 용량이 작아서, 최근에는 JSON이 XML을 대체해서 데이터 전송 등에 많이 사용된다.
JSON은 데이터 포맷일 뿐이며 어떠한 통신 문법도, 프로그래밍 문법도 아닌 단순히 데이터를 표현하는 방법이다.
JSON의 형태는 일반적으로 key와 value의 값으로 채워져 있다.
직관적이고 간단한 특성으로 쉽게 이해할 수 있는 형태의 표현 방법이다.
JSON 형식으로 도큐먼트를 작성하기 위해서는 다음과 같은 조건을 만족해야 한다.
{}
로 도큐먼트가 시작하고 끝나야 한다.:
콜론으로 분리되어야 하고, 필드와 값을 포함하는 쌍은 쉼표로 나뉘어야 한다.""
쌍따옴표로 감싸준다.BSON은 JSON과 동일한 구조지만 Binary 형태로 변경된 구조를 말한다.
JSON Document를 Binary로 인코딩한 포맷.
JSON의 단점을 해결하기 위한 방안이다.
컴퓨터의 언어에 가까운 2진법에 기반을 둔 표현법이다.
JSON과 비교해서 BSON은 스토리지 공간과 스캔 속도 모두 효율적으로 설계되어 있다.
JSON이 있는데 왜 BSON이 등장한 것일까?
JSON은 텍스트 기반으로 구문 분석이 매우 느리고, 공간 효율성과 거리가 먼 문제점이 있어서 BSON이 생겼다.
JSON구조의 좋은 점은 그대로 가져가면서 기계가 빠르게 읽을 수 있는 binary 형태로 변경하여 저장을 한 것이다.
JSON의 등장 전에는 주로 XML을 사용해서 웹에서 데이터를 주고 받았다.
자바스크립트의 사용이 증가하면서 사람과 기계가 모두 읽을 수 있는 형태의 구조가 구현하기에도 쉽고 이해하기에도 쉬워서 JSON의 사용이 증가하게 되었다.
{}
를 사용하고, 값을 ,
로 나열하기에 표현이 간단하다.