728x90
반응형
개요
- 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"
}
}
}
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')
반응형
'데이터베이스 > MongoDB' 카테고리의 다른 글
인덱스(Index) (0) | 2024.04.01 |
---|---|
보안 설정 & 커넥션 생성 (0) | 2024.04.01 |
조회(find), query연산자 (0) | 2024.04.01 |
생성, 제거, 업데이트 (0) | 2024.04.01 |
NoSQL (0) | 2024.04.01 |