inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

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

해결된 질문

167

바나나

작성한 질문수 21

0

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


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

java sql mysql mongodb database

답변 2

2

Hong

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

 

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

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

 

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

0

인프런 AI 인턴

안녕하세요, 인프런 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 데이터베이스 중에서도 특히 다채로운 데이터 모델링을 지원합니다.

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

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

복합인덱스 설계 질문

0

8

0

app logs 데이터로 쿼리 연습

0

9

2

26년2회 실기기출은 언제쯤...

0

20

2

진짜화면이랑달라서못해먹겟어요먹겟어요

0

13

1

네이버 API | '검색 - 책' API 제공 중단

0

16

1

ArticleReadService 관련 질문

0

13

1

마스터패스...

0

16

1

kafka 이벤트 발행 실패 시 at-least-once를 보장하는 방법이 궁금합니다.

1

35

1

[과제] 연습문제 쿼리 작성했습니다!

0

12

2

이론 공부법 요약본 버전 업데이트 문의

0

17

2

domain에 @Entity 와 Repository를 함께 둔 이유가 궁금합니다

1

28

1

실습소 페이지

0

20

2

해당 프로젝트를 똑같이 따라하려니 spring installer가 버전이 17부터 가능하네요.

0

13

1

Part 2 듣기전 복습하던 중, 아키텍처에 관한 질문이 있습니다.

0

31

2

테스트는 인터페이스를 대상으로 만드는것에 대해 궁금한 점이 있습니다.

0

21

1

57번

0

29

1

안녕하세요. 요약집 어디서 볼 수 있을까요?

0

27

1

Jib 이미지 빌드에서 docker credential 관련으로 이슈가 있다면

1

58

1

리뉴얼 시기

0

38

2

스크립트에 대해 질문 있습니다.

1

53

1

64비트 다운로드 링크

0

26

2

같은 사용자가 연속된 중복 호출할 경우 어떻게 되는지 궁금합니다!

2

57

1

리뷰

0

38

2

섹션8. CAP 퀴즈 질문

0

86

1