2

我从文档中得到的是,它在其他机器上作为一个单独的进程运行,我可以使用 java 的 mongo db 客户端驱动程序与它通信,我可以进行正常操作。

但我怀疑我是否可以在我的 java 应用程序中使用 MongoDB 作为嵌入式数据库?我的意思是,不是作为其他机器上的单独进程,也不是作为同一机器上的单独进程。它应该是java应用程序的一部分。

你能帮帮我吗?

4

1 回答 1

8

不,那是不可能的。MongoDB 是一个本地 C++ 应用程序,它使用内存映射文件、打开套接字等。它不会在 JVM 中运行。

此外,MongoDB 是为 Web 规模应用程序、大数据、故障转移集群(副本集)和自动分片而设计的,这些在嵌入式应用程序中都没有真正意义。此外,它在内存使用方面非常激进,这对于嵌入式应用程序来说是不可取的。

--在zero323的评论之后编辑--

您可能想看看db4o一个用于嵌入的 java 对象数据库。

此外,当嵌入数据库时​​,许可证可能会咬你,并迫使你在相同的许可证下发布你的代码,在 MongoDB 的情况下是 AGPL。

于 2013-10-24T12:31:41.543 回答