개요
•
Mongo는 명시적으론 JSON 형태로 데이터를 보여주고, 저장한다.
•
검색 기능을 사용할 때도 JSON 문법에 맞게 입력해준다.
•
하지만 실제 MongoDB에서는 데이터를 BSON 형태로 저장하여 사용하고 있다.
JSON 형식
JSON (JavaScript Object Notation)
Javascript 언어의 일부로 정의되어있는 형식
2013년에 공식화
•
key와 value의 값
•
예제
{
"_id": "10009999",
"listing_url": "https://www.aaabbb.com/rooms/10009999",
"name": "Horto flat with small garden",
"summary": "One bedroom + sofa-bed ...",
"cancellation_policy": "flexible",
"last_scraped": {
"$date": {
"$numberLong": "1549861200000"
}
}
}
JSON
복사
BSON 형식
BSON (Binary JSON)
Mongo에서 JSON의 문제점을 해결하기 위해 고안한 형식
•
JSON의 문제점
◦
JSON은 텍스트 기반으로 구문 분석이 매우 느리다.
◦
JSON은 공간 효율성과는 거리가 멀다. (데이터베이스 문제)
◦
표현 방법이 문자열, boolean, 숫자, 배열로 한정되어 있다.
•
이를 해결하기 위해 사람에게 보여질 때는 JSON형태로, 저장할 때나 네트워크를 전송할 때는 BSON 형태로 만들어서 저장/전송한다.
•
예제
{"hello": "world"}
→ \x16\x00\x00\x00 // total document size
\x02 // 0x02 = type String
hello\x00 // field name
\x06\x00\x00\x00world\x00 // field value
\x00 // 0x00 = type EOO ('end of object')
JSON
복사