FuN_ViT
@FuN_ViT
веб-разработчик

Прочитал, что MongoDB имеет ограничение в 4Мб на документ. Я не ошибся?

Особенно не понятно, если рекомендуется де-нормализовать данные — например, хранить комментарии к комментарию…

comment:{Id:..., Text: ..., comments: []}


Это ведь упрешься в лимит и труба…
  • Вопрос задан
  • 8273 просмотра
Решения вопроса 1
xSkyFoXx
@xSkyFoXx
В версии 2.2 размер одного документа увеличен до 16М. Хотя, как сказали многие вверху, GridFS позволит хранить файлы любых размеров. Даже таких, который превышают размер одного физического компьютера в кластере.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 6
Для обхода ограничения есть GridFS, кажется :)
Ответ написан
Комментировать
@Masterkey
у монго есть другое более интересное ограничение www.mongodb.org/display/DOCS/Using+a+Large+Number+of+Collections

оно меня больше беспокоит чем 4мб на запись
Ответ написан
@TravisBickle
Это настраивается.
Ответ написан
Комментировать
miolini
@miolini
Мне кажется проблема несколько надуманная, потому что комментарий к комментарию можно хранить плоско с foreign key. Для данных более 4мб есть GridFS.
Ответ написан
Комментировать
@MagaSoft
Это же сколько комментариев писать для 4 мб. Еще на 32 битных машинах общий объем базы ограничен 2 гб, раз начали.
GridFS все же для бинарников, не думаю что это лучшее решение.
В крайнем случае можно в приложении указать максимальный объем комментариев хранимых в одном документе и при достижении открывать новый с DBRef (foreign key) к основному.
Ответ написан
vansickle
@vansickle
1) Для текстовых данных — 4MB — это очень много, все бинарные данные уйдут в GridFS
2) В версии 1.7 это возможно будет настраиваться
3) Если вы все же выйдете за пределы 4MB, то решается изменением структуры БД — для приведенного примера делаем коллекцию комментариев «плоской» со ссылками. Подробнее по вариантам работы с древовидными данными в Mongo см www.mongodb.org/display/DOCS/Trees+in+MongoDB vansickle, Сегодня в 23:07
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы