복붙노트

[MONGODB] 이해 MongoDB를 BSON 문서 크기 제한

MONGODB

이해 MongoDB를 BSON 문서 크기 제한

MongoDB의 확실한 가이드에서 :

나는이 문서가 너무 4메가바이트가 하나의 문서로 저장 될 수있는 것보다 더 큰 될 일이 의견이 많은 블로그 게시물을 포함하는 것을 의미 하는가,이 제한을 이해하지?

또한이 너무 중첩 된 문서를 계산합니까?

내가 값에 대한 변경 사항을 감사 문서를 원한다면. (그것은 결국 4 메가 ​​바이트 제한을 초과 성장 할 수 있습니다.)

희망의 사람을 제대로 설명합니다.

난 그냥 MongoDB를 (첫째되는 NoSQL 데이터베이스 나에 대해 배우고)에 대한 읽기를 시작했습니다.

고맙습니다.

해결법

  1. ==============================

    1.우선,이 실제로 8메가바이트 또는 16메가바이트의 다음 버전에서 제기 ...하지만 난 (MongoDB를 개발하는 사람들) 최고의 풋를 10gen에서, 관점에 엘리엇을이를 넣어 생각하고 있습니다 :

    우선,이 실제로 8메가바이트 또는 16메가바이트의 다음 버전에서 제기 ...하지만 난 (MongoDB를 개발하는 사람들) 최고의 풋를 10gen에서, 관점에 엘리엇을이를 넣어 생각하고 있습니다 :

    편집 : 크기는 공식적으로있다가 16메가바이트에 '상승'

    난 당신이 꽤 하드 한계에 도달 누를 거라고 생각 ... 그리고 당신은 업그레이드하는 경우 시간이 지남에, ... 당신은 적게 걱정할 필요가 있습니다.

    당신이 당신의 서버에있는 모든 RAM을 사용하지 않도록 제한의 주요 요점은 (당신이 당신이 그것을 쿼리 RAM에 문서의 모든 매크로 블럭을로드해야한다.)

    그래서 제한 년에 성장 년을 유지하는 일반적인 시스템 ... 정상 사용 가능한 RAM의 일부 %입니다.

    MongoDB의에서 파일 저장에 대한 참고 사항

    당신은 당신이 자동으로 세그먼트로 데이터를 중단하고 다시 그들을 스트리밍 할 GridFS API를 사용할 수 있습니다 16메가바이트보다 큰 문서를 저장 (또는 파일)에 필요한 경우 (따라서 크기 제한 / RAM의 문제를 피할 수 있습니다.)

    당신은 SQL 데이터베이스에 수도로 당신은 많은 데이터베이스에 저장하는 이미지, 파일, 동영상 등으로이 방법을 사용할 수 있습니다. 난 멀티 기가 바이트 비디오 파일을 저장하려면이 옵션을 사용했습니다.

  2. ==============================

    2.지역 사회에서 많은 것은 잘 추론 인수에 대한이 댓글을 참조 성능에 대한 경고와 제한을 선호하지 않을 것이다 : https://jira.mongodb.org/browse/SERVER-431?focusedCommentId=22283&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-22283

    지역 사회에서 많은 것은 잘 추론 인수에 대한이 댓글을 참조 성능에 대한 경고와 제한을 선호하지 않을 것이다 : https://jira.mongodb.org/browse/SERVER-431?focusedCommentId=22283&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-22283

    그들은 초기에 그것이 중요 "기능"라고 판단하기 때문에 필자는, 리드 개발자들은이 문제에 대해 고집하고 있습니다. 그들은 곧 자신의 감정이 상처 때문에 사람이 의문을 제기 것을 변경하지 않을거야. 성격과 정치가 오픈 소스 커뮤니티에서 제품을 손상하지만 정말 타격 문제가 아닙니다의 또 다른 예.

  3. ==============================

    3.구글 여기로받을 사람들을 위해 여기에 명확한 답변을 게시합니다.

    구글 여기로받을 사람들을 위해 여기에 명확한 답변을 게시합니다.

    문서 크기는 하위 문서를 포함하여 문서의 모든 중첩 된 개체 등을 포함

    의 문서 그래서 :

    {
        _id:{},
        na: [1,2,3],
        naa: [
            {w:1,v:2,b:[1,2,3]},
            {w:5,b:2,h:[{d:5,g:7},{}]}
        ]
    }
    

    16meg의 최대 크기를 가지고 있습니다.

    Sbudocuments 중첩 된 객체는 모든 문서의 크기으로 계산됩니다.

  4. ==============================

    4.아직 문서 자체에 저장된 대용량 파일을 포함하지 않은 한계의 문제를 보지 못했다. / 저장 큰 파일을 검색하는 매우 효율적인 다양한 데이터베이스가 이미있다; 그들은 운영 체제라고합니다. 데이터베이스는 운영 시스템에 대한 레이어로 존재한다. 성능상의 이유로되는 NoSQL 솔루션을 사용하는 경우, 당신은 왜 당신의 응용 프로그램과 데이터 사이의 DB 레이어를 넣어 데이터의 액세스에 추가 처리 오버 헤드를 추가 할 것인가?

    아직 문서 자체에 저장된 대용량 파일을 포함하지 않은 한계의 문제를 보지 못했다. / 저장 큰 파일을 검색하는 매우 효율적인 다양한 데이터베이스가 이미있다; 그들은 운영 체제라고합니다. 데이터베이스는 운영 시스템에 대한 레이어로 존재한다. 성능상의 이유로되는 NoSQL 솔루션을 사용하는 경우, 당신은 왜 당신의 응용 프로그램과 데이터 사이의 DB 레이어를 넣어 데이터의 액세스에 추가 처리 오버 헤드를 추가 할 것인가?

    JSON은 텍스트 형식입니다. 당신이 JSON을 통해 데이터를 액세스하는 경우가 변환 경로는 다음과 같을 수 있습니다 UUENCODE 16 진수, 또는베이스 64로 인코딩 할 필요가 있기 때문에 바이너리 파일이있는 경우에 따라서, 이것은 특히 사실이다

    바이너리 파일 <> JSON (부호화) <> BSON (부호화)

    이 문서에서 데이터 파일의 경로 (URL)를 넣어 진 데이터 자체를 유지하는 것이 더 효율적이 될 것입니다.

    당신이 정말로 당신의 DB에 알 수없는 길이의이 파일을 유지하려면, 당신은 아마 GridFS 이러한 퍼팅과 큰 파일을 액세스 할 때 당신의 동시성을 죽이는 위험하지 더 나을 것입니다.

  5. ==============================

    5.BSON 문서에 대한 중첩 깊이 : MongoDB의는 BSON 문서에 중첩없이 100 개 이상의 수준을 지원합니다.

    BSON 문서에 대한 중첩 깊이 : MongoDB의는 BSON 문서에 중첩없이 100 개 이상의 수준을 지원합니다.

    더 많은 정보를 원하시면 방문

  6. ==============================

    6.아마도 블로그 포스트를 저장 -> 비 관계형 데이터베이스에 주석의 관계는 정말 최고의 디자인이 아니다.

    아마도 블로그 포스트를 저장 -> 비 관계형 데이터베이스에 주석의 관계는 정말 최고의 디자인이 아니다.

    당신은 아마 어쨌든 블로그 게시물에 대한 분리 수거에 주석을 저장해야합니다.

    [편집하다]

    자세한 설명은 아래의 주석을 참조하십시오.

  7. ==============================

    7.https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1에 따르면

    https://www.mongodb.com/blog/post/6-rules-of-thumb-for-mongodb-schema-design-part-1에 따르면

    당신은 블로그 게시물이 경우 16MB 문서 제한을 초과 할 것으로 예상되는 경우, 별도의 콜렉션으로 주석을 추출하고 주석의 블로그 게시물을 참조하고 응용 프로그램 수준에 가입해야한다.

    // posts
    [
      {
        _id: ObjectID('AAAA'),
        text: 'a post',
        ...
      }
    ]
    
    // comments
    [
      {
        text: 'a comment'
        post: ObjectID('AAAA')
      },
      {
        text: 'another comment'
        post: ObjectID('AAAA')
      }
    ]
    
  8. from https://stackoverflow.com/questions/4667597/understanding-mongodb-bson-document-size-limit by cc-by-sa and MIT license