BSON이란 이름에서도 알 수 있듯이 binary로 인코딩(serialization) 된 JSON을 말한다. JSON이 그러하듯이 네트워크 전송비용이 적고 정형화 되지 않아 유연하고 효과적으로 사용할 수 있다. 참고로 mongodb에서 데이터를 dump하는데 BSON 포맷으로 나오더라. dump 파일 사이즈를 꽤 큰데 gzip으로 압축하니 획기적으로(?) 용량이 축소되었다. 아마 인코딩의 이유로 중복문자가 많은 것 같다.
{"hello":
"world"} 는 예를 들어 다음과 같이 인코딩 된다.
"\x16\x00\x00\x00\x02hello\x00
\x06\x00\x00\x00world\x00\x00"
나중에 쓸지도 모르니 참고로 알아두자.