Можно ли размещать MongoDB внутри процесса?

В настоящее время все, что я прочитал, указывает на то, что вы должны запускать MongoDB как отдельный процесс/службу. Есть ли способ разместить MongoDB в процессе? Если не сейчас, известны ли их планы по реализации такой функции?


person Jordan    schedule 05.02.2010    source источник
comment
Мне было бы интересно узнать, почему вы хотите запустить MongoDB в процессе... Каков ваш вариант использования?   -  person David J.    schedule 09.02.2010
comment
Можете ли вы уточнить, что вы имеете в виду под размещением в процессе?   -  person Brian Armstrong    schedule 20.03.2010
comment
Не размещается на границе отдельного процесса — другими словами, я хочу разместить службу MongoDB внутри приложения, которое использует MongoDB в качестве хранилища данных.   -  person Jordan    schedule 23.03.2010
comment
Очевидным вариантом использования является система, в которой есть один процесс, обращающийся к хранилищу данных, и желательно устранить сетевые накладные расходы, задержку и/или сложность архитектуры.   -  person Mark    schedule 20.05.2010


Ответы (4)


Основываясь на моем опыте работы с MongoDB и просмотре тикетов системы отслеживания проблем на http://jira.mongodb.org/browse/SERVER, я не знаю, как разместить MongoDB в процессе. Я также не нашел никаких доказательств будущих планов сделать это.

Я бы рекомендовал задать этот вопрос в списке рассылки пользователей mongodb: http://groups.google.com/group/mongodb-user

person David J.    schedule 09.02.2010

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

person diederikh    schedule 05.02.2010

Вы можете использовать библиотеку Embedded MongoDB, хотя она и предназначена для модульного тестирования.

person Konrad Reiche    schedule 12.05.2012
comment
Он не запускает встроенный монго. Он запускает его как отдельный процесс. - person mark; 18.03.2013

В другом вопросе о переполнении стека есть ответы, относящиеся к этому вопросу.

Встроенная MongoDB при выполнении интеграционных тестов

В частности, упоминается MongoDB в памяти для JVM с именем Fongo.

Похоже, Fongo в основном предназначен для интеграционных тестов и/или обучения. Он может не обрабатывать все варианты использования Mongo, но на него стоит обратить внимание.

https://github.com/fakemongo/fongo

person devdanke    schedule 18.11.2018