Задать вопрос
@LayneBuchyn

Пользоваться одной базой данных из нескольких mongod-процессов

Здравствуйте.
Я не очень силен в монго, и у меня возникла проблема с блокировками при записи-чтении, из-за чего работа с базой данных стала чрезвычайно медленной и невыносимой.
Погуглив и покурив по-быстрому документацию к MongoDB по части Concurrence, я приблизительно понял, что можно каким-то обазом запустить несколько инстансов mongod, и в одном инстансе например производить операции записи, в другом — операции чтения.
Возможно ли это сделать без создания Replica Set?
Я представляю себе это примерно так:
mongod --fork --port 27018
mongod --fork --port 27019
mongod --fork --port 27020

Но инстансы запускаются только с указанием отдельного dbpath, соответственно целевая база данных в других инстансах пустая.
Можно ли как-то использовать одну и ту же базу данных из нескольких инстансов mongod без ее постоянного копирования?
Заранее спасибо.
  • Вопрос задан
  • 3511 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
7workers
@7workers
не получится, ведь тот же самый ресур будет использоваться (ну то есть так нельзя). Я значительно улучшил ситуацию, разбросав коллекции по разным базам данных (лочится база, а не сервер). в приложении указываю не коллекцию а базу.коллекцию каждый раз. Но если у вас идёт нагрузка на одну коллекцию то это не поможет
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@sevmax
Нет. Они, скорее всего, даже не запостятся, потому что первый процесс будет лочить базу под себя.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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