我从文档中得到的是,它在其他机器上作为一个单独的进程运行,我可以使用 java 的 mongo db 客户端驱动程序与它通信,我可以进行正常操作。
但我怀疑我是否可以在我的 java 应用程序中使用 MongoDB 作为嵌入式数据库?我的意思是,不是作为其他机器上的单独进程,也不是作为同一机器上的单独进程。它应该是java应用程序的一部分。
你能帮帮我吗?
我从文档中得到的是,它在其他机器上作为一个单独的进程运行,我可以使用 java 的 mongo db 客户端驱动程序与它通信,我可以进行正常操作。
但我怀疑我是否可以在我的 java 应用程序中使用 MongoDB 作为嵌入式数据库?我的意思是,不是作为其他机器上的单独进程,也不是作为同一机器上的单独进程。它应该是java应用程序的一部分。
你能帮帮我吗?
不,那是不可能的。MongoDB 是一个本地 C++ 应用程序,它使用内存映射文件、打开套接字等。它不会在 JVM 中运行。
此外,MongoDB 是为 Web 规模应用程序、大数据、故障转移集群(副本集)和自动分片而设计的,这些在嵌入式应用程序中都没有真正意义。此外,它在内存使用方面非常激进,这对于嵌入式应用程序来说是不可取的。
--在zero323的评论之后编辑--
您可能想看看db4o一个用于嵌入的 java 对象数据库。
此外,当嵌入数据库时,许可证可能会咬你,并迫使你在相同的许可证下发布你的代码,在 MongoDB 的情况下是 AGPL。