mongodb可以用作嵌入式数据库吗?

时间:2011-05-24 19:14:27

标签: mongodb embedded-database

我正在研究RSS阅读器应用程序。我需要找到一个后端数据库。我希望嵌入数据库,因为我不希望用户安装数据库服务器。

我知道SQLite是一个不错的选择,但我想知道是否还有其他nosql选择?

6 个答案:

答案 0 :(得分:52)

(我还没有50个回复点来评论和建立,接受的答案;否则我会,抱歉!)

您可以在您的OEM解决方案中嵌入MongoDB,但有两件事需要考虑:

  1. 它是用C ++编写的,所以如果你用不同的语言编写代码,你可能需要编写一个单独启动数据库进程的包装器。

  2. MongoDB是根据Gnu AGPL-3.0许可的,这是一个副本左服务器许可证。接受的答案和Google小组报价都正确地说明这通常会迫使您获得AGPL许可。但是,他们MongoDb声明许可的意图是允许提交其代码的改进,并且您的产品将保持独立。这使我认为正常的副本左规则不适用。

  3.   

    服务器许可证的目标是要求将MongoDB的增强功能发布到社区。传统的GPL通常不会实现这一点,因为大量的软件在云中运行。例如,谷歌没有义务发布他们对MySQL内核的改进 - 如果他们这样做的话他们很好。

         

    为了实现上述目标,我们承诺使用数据库的客户端应用程序是一项单独的工作。为了实现这一点,mongodb.org支持的驱动程序(与您的应用程序链接的部分)是在Apache许可下发布的,这是免费的copyleft。注意:如果您想签署一份声明上述承诺的签名信,请通过电子邮件索取。

    来源:http://www.mongodb.org/display/DOCS/Licensing

答案 1 :(得分:19)

根据谷歌集团的说法,是的,它可以,但它没有详细说明。

  

是的,但它并不漂亮而且会   强制您的应用获得AGPL许可。如果   你有兴趣看看如何   这些工具处理--dbpath选项。

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

如果您使用的是.NET,则一个选项可能是RavenDB,它是一个文档数据库,可以嵌入。

答案 2 :(得分:14)

请结帐https://github.com/Softmotions/ejdb 正在开发此项目以解决此问题。

答案 3 :(得分:4)

Couchbase Lite怎么样?它是一个开源的,可嵌入的文档数据库。虽然它可以作为独立的文档数据库运行,但它的真正价值在于它能够与远程文档数据库同步。它可能针对iOS / Android,但它可以在任何带有JVM的东西上运行。

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

答案 4 :(得分:2)

在可重用的库中,没有直接的转发方式将MongoDB用作嵌入式库。艾略特 - 10gen的负责人 - 谈到“有一个人会很高兴” - 但没有什么可以以理智的方式重复使用。

答案 5 :(得分:0)

看起来很多原始设备制造商正试图让Mongo使用他们的硬件和设备进行实时处理。 A link from MongoDBs website