MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Разбиране на ограничението за размера на документа на MongoDB BSON

Първо, това всъщност се повишава в следващата версия до 8MB или 16MB ... но мисля, че за да поставя това в перспектива, Елиът от 10gen (който разработи MongoDB) го представя най-добре:

РЕДАКТИРАНЕ: Размерът е официално „повдигнат“ до 16MB

Така че, в примера с вашия блог, 4MB всъщност са много.. Например, пълният декомпресиран текст на "War ofthe Worlds" е само 364k (html):http://www.gutenberg.org/etext/36

Ако публикацията ви в блога е толкова дълга с толкова много коментари, аз например няма да я чета :)

За тракбек, ако им отделите 1MB, лесно бихте могли да имате повече от 10k (вероятно по-близо до 20k)

Така че с изключение на наистина странни ситуации, ще работи чудесно. И в случай на изключение или спам, наистина не мисля, че така или иначе бихте искали обект от 20 MB. Мисля, че ограничаването на тракбековете като 15k или така има много смисъл, без значение каква е производителността. Или поне специален корпус, ако се случи.

-Елиът

Мисля, че ще бъдете доста притиснати да достигнете лимита... и с течение на времето, ако надстроите... ще трябва да се тревожите все по-малко.

Основната точка на ограничението е да не използвате цялата RAM на вашия сървър (тъй като трябва да заредите всички MB s на документа в RAM, когато го направите заявка.)

Така че ограничението е някакъв % от нормалната използваема RAM на обща система ... която ще продължи да расте от година на година.

Забележка относно съхраняването на файлове в MongoDB

Ако трябва да съхранявате документи (или файлове) по-големи от 16MB можете да използвате GridFS API, който автоматично ще раздели данните на сегменти и ще ги прехвърли обратно към вас (по този начин ще избегнете проблема с ограниченията на размера/RAM.)

Вместо да съхранява файл в един документ, GridFS разделя файла на части или парчета и съхранява всяка част като отделен документ.

GridFS използва две колекции за съхранение на файлове. Едната колекция съхранява файловите парчета, а другата съхранява файлови метаданни.

Можете да използвате този метод, за да съхранявате изображения, файлове, видеоклипове и т.н. в базата данни, както бихте могли в SQL база данни. Използвах това дори за съхранение на много гигабайтови видео файлове.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Допълване в SQL

  2. проблем с връзката mongo - ruby

  3. MongoDB:ГРЕШКА:дъщерният процес е неуспешен, излезе с грешка номер 14

  4. Как да активирате регистриране за Mongoose и драйвера MongoDB Node.JS

  5. Как MongoDB дава възможност за машинно обучение