Общий дизайн базы данных MongoDb и производительность индекса - одна или несколько коллекций? - PullRequest
2 голосов
/ 28 марта 2012

Это общий вопрос о дизайне базы данных mongodb, но причина моего вопроса в том, что я проектирую базу данных для системы, в которой я генерирую статические html-файлы для множества небольших веб-сайтов.Веб-сайты могут содержать различные типы страниц, некоторые из них являются списками пользователей, некоторые являются списками других страниц, а некоторые являются просто страницами со статической информацией.

Теперь мне интересно, будет ли лучше иметь одну коллекцию страницхранить данные для всех различных типов страниц веб-сайта или было бы лучше иметь несколько коллекций - по одной коллекции для каждого типа страниц.

Если я использую только одну коллекцию, то это, вероятно, приведет к тому, что в таблице будет много индексов со многими записями, включая индексацию по типу страницы.Если использовать несколько коллекций, то каждая коллекция будет меньше и будет иметь несколько индексов, в том числе по одному на каждую коллекцию в поле id.

Мне кажется, что в целом было бы лучше использовать несколько коллекцийпотому что тогда данные уже имеют один уровень индексации, располагая их в разных коллекциях.Но что, если количество разных коллекций будет равно 100?

Мой вопрос в основном заключается в том, какой из двух подходов предпочтительнее в отношении производительности индекса и размера индекса, производительности записи, блокировки и т. Д. - много коллекций или одна суперколлекция?

Ответ, вероятно, нескольковариант «это зависит», поэтому какие факторы важно принимать во внимание при принятии решения, каким путем идти?

1 Ответ

3 голосов
/ 28 марта 2012

В документации MongoDB обсуждается именно эта проблема: http://www.mongodb.org/display/DOCS/Using+a+Large+Number+of+Collections

В целом, относительно большое количество коллекций не является проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...