Ограничить добавление детей в документ в NoSQL? - PullRequest
2 голосов
/ 03 марта 2011

Когда в качестве примера объекта, владеющего многими дочерними элементами, используется база данных документов (например, couchdb), всегда рекомендуется добавлять дочерние объекты к родительскому объекту. В случае сообщения в блоге это означает, что вы добавляете все комментарии как дочерние элементы родительского объекта сообщения в блоге.

post
{
    title: '',
    text: '',
    comments:[...]
}

Однако разве вы не выходите за пределы довольно быстро, делая это? Что делать, если у вас есть 800 комментариев? Разве это не было бы огромной тратой пропускной способности и обработки, если бы вы показывали только 100 комментариев на страницу (хотя некоторые люди показывают все комментарии на одной странице). То же самое относится к темам на форуме или ко всему, что может иметь большое количество детей.

  • Есть ли лучший способ справиться с этим?
  • Есть ли ограничение на размер объектов?
  • Как в это влияет MVCC, поскольку при каждом обновлении (каждом новом комментарии) каждый раз создается новый объект, возможно, за короткое время заполняется база данных 800 копиями сообщения в блоге?

1 Ответ

2 голосов
/ 03 марта 2011

Просматривая некоторые другие ТАКИЕ вопросы Я нашел ссылку на пост в блоге, где объясняет правильный способ обработки , используя более сложное представление, которое может решить эти проблемы. Хотя это решение специфично для couchDB.

...