@LayneBuchyn

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

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

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

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

Войти через центр авторизации
Похожие вопросы