Can mongodb be used as an embedded database?

I am working on an RSS reader application. And I need to find a database. I want the database to be implemented because I do not want users to install the database server.

I know SQLite is a good choice, but I wonder if there are other nosql options?

+54
mongodb embedded-database
May 24 '11 at 19:14
source share
6 answers

According to the Google group, yes, it is possible, but it does not describe how.

Yes, but it is ugly and will force the application to use the AGPL license. If you're interested, take a look at how tools handle the -dbpath parameter.

Source: http://groups.google.com/group/mongodb-user/browse_thread/thread/463956a93d3fb734?pli=1

If you use .NET, one parameter can be RavenDB , which is the document database and can be embedded.

+19
May 24 '11 at 19:54
source share

(I do not have 50 reviews yet to comment and approve the accepted answer, otherwise I would, sorry!)

You can embed MongoDB in your OEM solution, but there are two things to consider:

  • It is written in C ++, so if you code in a different language, you may need to write a shell that starts the database process separately.

  • MongoDB is licensed under the Gnu AGPL-3.0 license, which is a copy of the server license. In the accepted answer and quotation of the Google group, both argue that this usually forces you to also have an AGPL license. However, MongoDb states that the intention of the license is to allow the completion of their code, and your product will remain separate. This makes me think that the normal copying rules on the left do not apply.

The purpose of a server license is to require that improvements to MongoDB be released to the community. The traditional GPL often does not achieve this, since a huge amount of software runs in the cloud. For example, Google is not required to release its improvements in the MySQL kernel - if they like them.

To do this above, we promise that your client application using the database is a separate work. To facilitate this, the drivers supported by mongodb.org (the part that you associate with your application) are released under the Apache license, which is free. Note: if you want a signed letter confirming the above promise, request by email.

Source: http://www.mongodb.org/display/DOCS/Licensing

+50
Mar 01 '12 at 12:38
source share

Please check https://github.com/Softmotions/ejdb. This project is being developed to solve this problem.

+14
Oct 28 '12 at 2:33
source share

How about Couchbase Lite? This is an open database of embedded documents. Although it can function as a separate document database, its real value lies in the ability to synchronize with remote document databases. It can target iOS / Android, but it can work on anyone with a JVM.

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

+4
Apr 10 '14 at
source share

There is no direct way to forward MongoDB as a built-in library in terms of a well-used library. Eliot - head of 10gen - talked about "it would be nice to have him" - but there is nothing available that could be reused in a reasonable way.

+2
May 25 '11 at 3:59 a.m.
source share

It seems that many OEMs are trying to connect Mongo to their equipment and devices for real-time processing. Link from MongoDBs website

0
Jun 02 '15 at 18:45
source share



All Articles