BSON 이 뭐야?

박상준·2024년 8월 15일
0
post-custom-banner

등장 배경

  • JSON은 텍스트 기반이라 읽기가 쉽다.
    • 하지만, 대용량 데이터 처리시에 효율성이 매우 떨어지는 문제가 있었다고 한다
  • MongoDB 는 빠른 데이터 처리와 다양한 데이터 타입 지원이 필요했는데
    • JSON 의 장점을 유지하면서 성능을 개선한 BSON 을 만들었다고 한다
  • BSON
    • Binary JSON 의 줄임말임

왜 빠른가

  1. 바이너리 인코딩
    1. BSON 은 바이너리 형식으로 데이터를 저장한다.
      1. 빠른 파싱
        1. 텍스트 기반 JSON 은 문자열을 파싱해야하는 반면
        2. BSON 은 바이너리 데이터를 직접 읽을 수 있다는 장점이 있다.
      2. 효율적인 저장
        1. 숫자 등의 데이터를 바이너리로 직접 저장하여 공간이 상대적으로 절약된다.
  2. 타입 정보와 길이 정보를 가진다
    • 데이터를 읽을때 JSON 의 경우 타입을 추론하는 반면
    • 바로 적절한 타입으로 처리가 가능하다.
    • 또한 길이 정보를 가지기에
      • 파일 데이터 전체를 순회할 이유가 없음.
      • 필요한 부분만 빠르게 접근이 가능해진다.
    • 효율적인 메모리 할당도 가능함
      • 데이터를 읽을 때 필요한 메모리 크기를 미리 추론이 가능해져서 효율적인 메모리 관리도 가능
  3. 직렬/ 역직렬화 효율
    • 바이너리 형식이기에 JSON 에 비해 직렬화와 역직렬화 과정이 단순하다.
    • 근데 JSON 이 항상 느린건 아님.. 대규모 파일의 경우 BSON 이 일반적으로 빠른거지
      • 작은 파일의 경우 JSON 이 더 빠를수도 있긴함.
profile
이전 블로그 : https://oth3410.tistory.com/
post-custom-banner

0개의 댓글