2014-01-24 4 views
5

В основном у меня довольно простые вопросы, но я не смог найти ответ в документации MongoDB или с помощью Google.Какой максимальный размер для GridFS на MongoDB?

Что я хочу знать, есть ли верхний предел того, насколько большой может быть GridFS на основе MongoDB?

(я знаю, что размер максимального файла по умолчанию составляет 16 МБайт, и что вы можете превысить этот предел, используя GridFS. Но что это верхний предел для всех файлов в GridFS?)

+0

Возможный дубликат [MongoDB - Максимальный размер файла с использованием GridFS] (http://stackoverflow.com/questions/16604875/mongodb-maximum-file-size-using-gridfs) – Alex

+0

Нет, это не дубликат, так как мой вопрос не о максимальном размере отдельного файла, а всей файловой системы. Вопрос, о котором вы говорите, касается максимального размера отдельного файла. –

+0

Хм, я думаю. Но ответ на этот вопрос «бесконечен», я уверен, что бесконечность * количество файлов также будет равно бесконечности;) – Alex

ответ

5

MongoDB использует в качестве механизма хранения операционную систему mmapped IO. Теоретический максимум, если нет других ограничений, налагаемых деталями реализации, будет объем виртуальной памяти, которую ваша ОС может назначить процессу mongod. В 32-разрядной ОС вы быстро столкнетесь с этим ограничением. Например, по окнам, по умолчанию половина адресного пространства зарезервирована для ОС, поэтому ваш экземпляр mongod перестанет принимать записи с размером около 2 Гб

В 64-разрядной ОС этот теоретический максимум немного больше - стоит 64 бита, в порядке миллионов терабайт, если я не ошибаюсь. Вы достигнете другого предела, прежде чем достигнете этого.

РЕДАКТИРОВАТЬ:

Это больше не может быть истинным, как из MongoDB 3.0. Механизм хранения WiredTiger работает по-другому.

+0

Итак, в конце концов это означает, что с GridFS я получаю сумму индивидуальных максимумов участвующих экземпляров MongoDB, так? –

+0

Звучит правильно. Запрет ошибок, о которых я не знаю, на практике будет ограничена ваша ОС и аппаратное обеспечение: максимальный объем виртуальной памяти, назначаемый процессу. – Mzzl

+0

Просто я понимаю это правильно: количество виртуальной памяти всех участвующих экземпляров в сумме или объем виртуальной памяти одного экземпляра (независимо от того, сколько экземпляров имеется)? –

1

Я думаю, что предел только на вашем оборудовании, в основном на дисковое пространство.

Теоретически с MongoDB вы можете хранить все нужные документы. GridFS - это всего лишь система для хранения больших документов в небольших кусках.

+0

У вас есть доказательства, подтверждающие это? Я бы в принципе думал (или, допустим, предполагаю) то же самое, но я хотел бы прочитать это где-то в официальном месте ;-) –

+0

Нет. У меня нет. Но я думаю, что база данных для хранения большого количества данных будет бесполезной с этим ограничением. Нет никаких различий между документами магазина или хранением фрагментов документов. Может, кто-то может дать нам настоящий пример. – rubenfa

Смежные вопросы