MongoDB嵌入Java
Posted
技术标签:
【中文标题】MongoDB嵌入Java【英文标题】:MongoDB embedded in java 【发布时间】:2013-10-24 12:23:36 【问题描述】:我从文档中得到的是,它在其他机器上作为一个单独的进程运行,我可以使用 java 的 mongo db 客户端驱动程序与它通信,我可以进行正常操作。
但我怀疑是否可以在我的 java 应用程序中使用 MongoDB 作为嵌入式数据库?我的意思是,不是作为其他机器上的单独进程,也不是作为同一机器上的单独进程。它应该是 java 应用程序的一部分。
你能帮帮我吗?
【问题讨论】:
Can mongodb be used as an embedded database? 的可能重复项 【参考方案1】:不,这是不可能的。 MongoDB 是一个原生 C++ 应用程序,它使用内存映射文件、打开套接字等。它不会在 JVM 中运行。
此外,MongoDB 是为 Web 规模应用程序、大数据、故障转移集群(副本集)和自动分片而设计的,这些在嵌入式应用程序中都没有真正意义。此外,它在内存使用方面非常激进,这对于嵌入式应用程序来说是不可取的。
--在zero323的评论后编辑--
您可能想看看 db4o 一个用于嵌入的 java 对象数据库。
此外,当嵌入数据库时,许可证可能会咬你并迫使你在相同的许可证下发布你的代码,在 MongoDB 的情况下是 AGPL。
【讨论】:
...让您的整个代码感染 AGPL 确实很麻烦,因为它需要您将其许可给通过网络使用它的每个人。对于普通的 GPL 应用程序,当它只在您自己的服务器上运行时,保留源代码是可以的。以上是关于MongoDB嵌入Java的主要内容,如果未能解决你的问题,请参考以下文章
是否有嵌入式 MongoDB 的 GUI(Flapdoodle)