Inflearn brand logo image

인프런 커뮤니티 질문&답변

황은경님의 프로필 이미지
황은경

작성한 질문수

가장 쉽고 깊게 알려주는 MongoDB 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]

NoSQL의 다양한 유형과 MongoDB만의 특징

BSON(Binary JSON)은 효율적이고 더 많은 데이터 타입을 지원한다는 말이 잘 와닿지 않습니다

해결된 질문

작성

·

51

0

MongoDB 설명에서 "BSON(Binary JSON)이라 효율적이고 더 많은 데이터 타입을 지원한다" 고 언급하신 부분에 대해 질문드립니다.


결국 Redis나 MySQL 같은 RDB도 내부적으로는 데이터를 바이너리 형태로 저장하지 않나요?
모두 바이너리로 저장하는데, 왜 MongoDB만 특별히 "바이너리라서 효율적이고 타입을 많이 지원한다"고 강조하는지 잘 이해가 안 됩니다.

답변 2

2

Hong님의 프로필 이미지
Hong
지식공유자

안녕하세요 황은경님 질문 남겨 주셔서 감사합니다. 질문 주신것처럼 틀린 말은 아닌지라 일부 혼동이 오실 수도 있다고 생각을 합니다.

 

제가 말씀을 드리고 싶었던 내용의 핵심은 단순히 바이너리를 저장한다라기 보다는 MongoDB가 사용하는 Bson이라는 포맷의 구조적인 특징이 다른 Json을 다루는 형태와 다른 장점을 가지고 있다라는 것을 전달해드리고 싶었습니다.

이런 BSON 기반의 저장을 단순히 바이너리 저장에 국한되지 마시고 문서를 지향하는 구조에 맞는 직렬화 포맷을 가장 적합하게 지원한다라는 차별점을 말씀드리고 싶었는데, 제가 일부 혼동이 오게 말씀을 드렸나보네요.. 시간이 날 떄 해당 강의를 다시 검토하고 수정할필요가 있다면 수정을 진행하도록 하겠습니다.

 

이렇게 질문 주시며 집어 주셔서 감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 황은경님.

MongoDB에서 사용하는 BSON은 기존의 JSON 형식을 확장한 형태로, 데이터의 저장 및 전송을 바이너리 형식으로 처리합니다. 이는 몇 가지 이유에서 다른 데이터베이스 시스템에서 사용하는 바이너리 포맷과 차이를 보입니다.

BSON의 특징과 장점

  1. 데이터 타입의 다양성: BSON은 JSON보다 더 많은 데이터 타입을 지원합니다. 예를 들어, Int32, Int64, Date, Timestamp 같은 데이터 타입이 있으며, 이는 MongoDB가 다양한 자료형을 보다 정확하게 저장할 수 있게 합니다.

  2. 효율성: BSON은 바이너리 형태로 데이터를 저장하여 JSON에 비해 데이터의 크기를 줄일 수 있습니다. 이는 네트워크 전송 속도를 높이고, 데이터 저장 공간을 절약하는 데 도움이 됩니다.

  3. 빠른 파싱: 바이너리 형식인 BSON은 JSON보다 파싱이 빠르기 때문에, 데이터 처리 속도가 향상됩니다. 이는 대량의 데이터가 이동할 때 성능 차이를 낳을 수 있습니다.

비교와 차이점

  • RDBMS (MySQL 등): 일반적으로 구조화된 데이터를 테이블 형태로 저장하며, 특정한 데이터 타입을 지원합니다. 확장성 측면에서 BSON은 더 유연한 데이터 구조를 제공하여 비정형 데이터를 다루기에 적합합니다.

  • Redis: 인메모리 데이터베이스로 데이터를 빠르게 읽고 쓸 수 있게 설계되었으며, 다양한 자료형을 지원하지만, MongoDB와 같은 복잡한 쿼리와 분석 기능을 기본적으로 지니고 있지는 않습니다.

MongoDB는 비정형 데이터를 유연하게 다룰 수 있는 특성과 바이너리 포맷의 강점들을 합쳐, NoSQL 데이터베이스 중에서도 특히 다채로운 데이터 모델링을 지원합니다.

관련해서 더 자세한 내용을 확인하려면 다음 링크의 게시글을 참고하세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

황은경님의 프로필 이미지
황은경

작성한 질문수

질문하기