Зачем использовать шардинг с MongoDB? - PullRequest
4 голосов
/ 11 октября 2011

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

Я прочитал где-то , что с MongoDB вам действительно нужно иметь много документов(например, миллиарды), чтобы начать думать о Sharding, однако я не понимаю этого, так как организация и размер среднего документа не упоминаются в этой «статистике».

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

Это приводит меня к следующему вопросу: каковы инструкции для MongoDB и сервера SQL, чтобы узнать, что используется в оперативной памяти для запроса?

Каковы основные требования для использования Sharding с MongoDB?

Может ли кто-нибудь указать мне на статью, пост или что-нибудь, когда кто-то объясняет, почему они использовали Sharding с MongoDB?

Как MongoDB обрабатывает Auto-Sharding?

Спасибо.

1 Ответ

2 голосов
/ 11 октября 2011

Из того, что я понимаю, ваш рабочий набор (данные, к которым вы обращаетесь чаще всего) должен умещаться в ОЗУ для хорошей производительности.Если это не так, то может быть возможным использование шардинга.

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

Существует книга под названием «масштабированиеmongodb 'в O'Reilly объясняет, как и когда используются наборы реплик и осколки.

Вы также можете посмотреть на этой странице: http://www.mongodb.org/display/DOCS/Sharding+Introduction

...