【问题标题】:Can mongodb be used as an embedded database?mongodb可以用作嵌入式数据库吗?
【发布时间】:2011-09-01 05:15:57
【问题描述】:

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

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

【问题讨论】:

  • 我不确定,但听起来你想要一个嵌入式数据库,它与独立相反。

标签: mongodb embedded-database


【解决方案1】:

根据 Google Group 的说法,是的,它可以,但它并没有准确地说明。

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

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

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

【讨论】:

  • 很好的答案,但也可以在 mongodb.org/display/DOCS/Licensing 上查看 Steve McDowell 的答案和许可来源
  • 只是指出 RavenDB 也是 AGPL,除非你的项目是开源的
【解决方案2】:

就可重用库而言,没有直接的方法可以将 MongoDB 用作嵌入式库。艾略特 - 10gen 的负责人 - 谈到“拥有一个会很好” - 但没有任何可用的东西可以以理智的方式重复使用。

【讨论】:

    【解决方案3】:

    (我还没有 50 个代表点来评论和构建已接受的答案;否则我会的,抱歉!)

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

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

    2. MongoDB 在 Gnu AGPL-3.0 下获得许可,这是一个复制左服务器许可。接受的答案和谷歌集团的报价都正确地表明这通常会迫使你也获得 AGPL 许可。但是,他们 MongoDb 声明该许可证的目的是允许对其代码的改进提交回来,并且您的产品将保持独立。这让我觉得正常的左副本规则不适用。

    服务器许可证的目标是要求向社区发布 MongoDB 的增强功能。由于大量软件在云中运行,传统的 GPL 通常无法再实现这一点。例如,谷歌没有义务发布他们对 MySQL 内核的改进——如果他们这样做了,他们就很好。

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

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      【解决方案5】:

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

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

      【讨论】:

        【解决方案6】:

        看起来很多 OEM 都在尝试让 Mongo 在他们的硬件和设备上进行实时处理。 A link from MongoDBs website

        【讨论】:

          【解决方案7】:

          我通常使用Buildroot 来创建一个交叉编译的嵌入式 Linux 根文件系统以及所有用户空间包。

          我注意到 MongoDB 是已经集成为 Buildroot 内置包之一的包之一。

          您可以查看MongoDB make file 以获取有关如何为嵌入式 Linux 构建它的一些提示。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-08-19
            • 1970-01-01
            • 2011-12-29
            • 2020-03-16
            • 1970-01-01
            • 2021-04-08
            • 1970-01-01
            相关资源
            最近更新 更多