Мы создали MongoDB сервер разработки на CentOS 6.3 и смог разделить разные проекты, используя отдельные файлы конфигурации и сценарии rc. Теперь мы рассмотрим настройку производственной среды MongoDB.
Я читал, что не рекомендуется размещать несколько экземпляров MongoDB на одном сервере в производственной среде. Означает ли это, что каждому проекту потребуется собственная производственная среда MongoDB?
Эти проекты не очень «большие» и поэтому не требуют большого количества ресурсов, поэтому создается ощущение, что мы прыгаем с пушки, предоставляя каждому свой собственный хост. Возможно, нам просто нужно отвлечься от мира СУБД.
Мы будем следить за нашим сервером разработки, чтобы увидеть, как он работает, но я ищу некоторые идеи и ваш личный опыт, чтобы дополнить то, что я прочитал.
Причина, по которой Mongo / 10Gen рекомендует не запускать несколько экземпляров Mongo в одной системе, связана с предположениями о доступности ресурсов. В mongod
процесс предполагает, что это единственный основной клиент системы, и запуск двух таких бок о бок приведет к общей худшей производительности, чем просто запуск одного mongod
всего с двумя базами данных.
Mongo вполне может запускать несколько баз данных под одним mongod
обработать. Это дискретные базы данных, подчиненные единому главному процессу. Каждая база данных обрабатывает свою собственную аутентификацию, что дает вам разделение. Вы бы запустили несколько mongod
процессы, если вам нужны другие версии монго для вашей продукции.
Я недостаточно разбираюсь в СУБД, чтобы знать аргументы передовой практики, стоящие за разделением продуктов по дискретным двоичным процессам базы данных, поэтому я не могу опровергнуть / успокоить / осудить каждую точку. Но, насколько я понимаю, общепринятой практикой в средах Mongo является создание отдельной базы данных для каждого продукта.