Подтвердить что ты не робот

Можно ли использовать mongodb как встроенную базу данных?

Я работаю над приложением для чтения RSS. И мне нужно найти базу данных. Я хочу, чтобы база данных была внедрена, потому что я не хочу, чтобы пользователи устанавливали сервер базы данных.

Я знаю, что SQLite - хороший выбор, но мне интересно, есть ли другие варианты nosql?

4b9b3361

Ответ 1

В соответствии с группой Google, да, это возможно, но она не описывает, как именно.

Да, но это некрасиво и будет заставляйте приложение использовать лицензию AGPL. Если вы заинтересованы взглянуть на то, как инструменты обрабатывают параметр -dbpath.

Источник: http://groups.google.com/group/mongodb-user/browse_thread/thread/463956a93d3fb734?pli=1

Если вы используете .NET, один параметр может быть RavenDB, который является базой данных документа и может быть встроен.

Ответ 2

(У меня еще нет 50 рецензий, чтобы прокомментировать и утвердить принятый ответ, иначе я бы, извините!)

Вы можете встроить MongoDB в свое OEM-решение, но есть две вещи, которые следует учитывать:

  • Он написан на С++, поэтому, если вы кодируете на другом языке, вам может потребоваться написать оболочку, которая запускает процесс базы данных отдельно.

  • MongoDB лицензируется под лицензией Gnu AGPL-3.0, которая является копией лицензии на сервер. В принятом ответе и котировке группы Google оба утверждают, что это обычно заставляет вас также иметь лицензию AGPL. Тем не менее, MongoDb заявляет, что намерение лицензии состоит в том, чтобы разрешить доработку их кода, и ваш продукт останется отдельным. Это заставляет меня думать, что нормальные правила копирования слева не применяются.

Цель лицензии сервера - потребовать, чтобы улучшения в MongoDB были выпущены сообществу. Традиционный GPL часто этого не достигает, поскольку огромное количество программного обеспечения работает в облаке. Например, Google не обязан выпускать свои улучшения в ядре MySQL - если они им нравятся.

Чтобы сделать это выше, мы обещаем, что ваше клиентское приложение, использующее базу данных, является отдельной работой. Чтобы облегчить это, драйверы, поддерживаемые mongodb.org(часть, которую вы связываете с вашим приложением), выпускаются под лицензией Apache, которая является бесплатной. Примечание: если вы хотите, чтобы подписанное письмо, подтверждающее вышеуказанное обещание, запросило по электронной почте.

Источник: http://www.mongodb.org/display/DOCS/Licensing

Ответ 3

Пожалуйста, проверьте https://github.com/Softmotions/ejdb Этот проект разрабатывается для решения этой проблемы.

Ответ 4

Как насчет Couchbase Lite? Это открытая база данных встраиваемых документов. Хотя он может функционировать как отдельная база данных документов, его реальная ценность заключается в возможности синхронизации с удаленными базами документов. Он может быть нацелен на iOS/Android, но он может работать на любом с JVM.

https://github.com/couchbase/couchbase-lite-java

Ответ 5

Нет прямого способа пересылки MongoDB в качестве встроенной библиотеки с точки зрения хорошо используемой библиотеки. Элиот - глава 10gen - говорил о "было бы неплохо иметь его" - но нет ничего доступного, который можно было бы использовать повторно разумным способом.

Ответ 6

Похоже, что многие OEM-производители пытаются подключить Mongo к своему оборудованию и устройствам для обработки в реальном времени. Ссылка с сайта MongoDBs