BSON이란 무엇이며 JSON과 정확히 어떻게 다릅니 까?
나는 MongoDB로 시작했으며 주목 한 것 중 하나는 BSON 을 사용 하여 데이터를 내부적으로 저장 한다는 것 입니다. 그러나 BSON의 정의와 MongoDB에서 BSON이 어떻게 사용되는지에 대한 문서는 명확하지 않습니다. 누군가 제게 설명해 주시겠습니까?
BSON 은 MongoDB가 문서를 콜렉션에 저장할 때 사용하는 JSON과 유사한 문서의 이진 인코딩입니다. JSON에서 지원되지 않는 Date 및 binary와 같은 데이터 유형에 대한 지원을 추가합니다.
실제로 MongoDB로 작업 할 때 BSON에 대해 많이 알 필요가 없으며 문서를 작성할 때 언어의 기본 유형과 드라이버의 제공된 유형 (예 : ObjectId) 만 사용하면됩니다. 드라이버에 의해 적절한 BSON 유형.
BSON은 무엇입니까 ?
이진 JSON의 약자 인 BSON [bee · sahn]은 JSON과 유사한 문서의 이진 인코딩 된 직렬화입니다.
어떻게 다른 JSON ?
BSON은 공간에서 효율적으로 설계되었지만 경우에 따라 JSON보다 훨씬 효율적이지 않습니다. 어떤 경우에는 BSON이 JSON보다 더 많은 공간을 사용합니다. 그 이유는 또 다른 BSON 설계 목표 인 순회 성입니다. BSON은 문자열 및 하위 객체 길이와 같은 일부 "추가"정보를 문서에 추가합니다. 이로 인해 순회가 더 빨라집니다.
BSON은 또한 인코딩 및 디코딩 속도가 빠르도록 설계되었습니다. 예를 들어, 정수는 32 (또는 64) 비트 정수로 저장되므로 텍스트와 구문 분석 할 필요가 없습니다. 작은 정수에는 JSON보다 많은 공간을 사용하지만 구문 분석하는 것이 훨씬 빠릅니다.
압축 외에도 BSON은 JSON에서 사용할 수없는 추가 데이터 형식, 특히 BinData 및 Date 데이터 형식을 추가합니다.
MongoDB는 장면 뒤에서 BSON이라는 이진 인코딩 형식의 JSON 문서를 나타냅니다. BSON은 JSON 모델을 확장하여 추가 데이터 유형을 제공하고 다른 언어 내에서 인코딩 및 디코딩하는 데 효율적입니다.
MongoDB는 JSON 문서 를 이진 인코딩 형식으로 나타내므로 장면 뒤에 BSON 이라고합니다 .
BSON은 JSON 모델을 확장하여 날짜 및 이진과 같은 추가 데이터 유형 (예 : JSON에서 지원 되지 않음) 을 제공하며 다른 언어 내에서 인코딩 및 디코딩하는 데 효율적으로 정렬 된 필드를 제공합니다.
다시 말해 우리는 BSON이 이진 JSON 이라고 할 수 있습니다 (더 많은 데이터 유형, 가장 중요한 이진 바이트 배열을 가진 JSON의 상위 집합).
JSON의 직렬화 형식으로 사용하는 Mongodb 에는 문서를 저장하고 액세스하기위한 인코딩 형식이 포함되어 있습니다 . 간단히 BSON이 JSON 데이터를위한 이진 인코딩 형식이라고 말할 수 있습니다.
더 많은 mongoDB 기사 : https://om9x.com/blog/bson-vs-json/
MongoDB는 JSON 위에 BSON 인코딩을 사용하여 원시 형식으로 JSON 문서 내에있는 값 위에 인덱스를 작성할 수 있습니다. NoSQL 시스템은 인덱스를 지원하지 않는 것으로 알려진 효율적인 분석 쿼리를 실행하는 데 도움이됩니다.
참고 URL : https://stackoverflow.com/questions/12438280/what-is-bson-and-exactly-how-is-it-different-from-json
'Programing' 카테고리의 다른 글
GitHub에서 특정 파일 이름을 검색 할 수 있습니까? (0) | 2020.07.20 |
---|---|
Mercurial (HG)은 특정 파일 만 커밋 (0) | 2020.07.20 |
요소가 0 인 배열이 필요합니까? (0) | 2020.07.20 |
select * vs select column (0) | 2020.07.20 |
업데이트 할 때 NuGet 패키지 관리자 오류 (0) | 2020.07.20 |