我想确切地知道 neo4j 服务器和嵌入式模式是什么意思。即使我浏览了该帖子Neo4j 服务器与嵌入式 https://stackoverflow.com/questions/8224523/neo4j-server-vs-embedded。但我不太清楚这些概念。我已经在Windows 64位机器上安装了neo4j 2.1.1,它是一个neo4j服务器。那么neo4j嵌入模式什么时候会出现呢?
另外,我们如何在嵌入式模式和服务器模式之间切换,反之亦然?
当我使用 mysql 到 neo4j 迁移(使用批量导入)时,将节点和关系导入 Neo4j 后,在messages.log
文件如下:
Clean shutdown on BatchInserter(EmbeddedBatchInserter[C:\Users\Neo4j\t2.db])
如果我安装了 neo4j 服务器,那么嵌入式是如何出现在这里的?因此,请澄清这些疑问。
Thanks
嵌入式数据库在您的应用程序内部运行,这意味着它们与您的应用程序位于同一 JVM 中。一般来说,使用嵌入式数据库,您将进行直接数据库访问或密码查询。这里有很多优点和缺点 - 缺点之一是你的 JVM 进程会锁定数据库;您不能让不同 JVM 中的大量不同应用程序同时访问同一个嵌入式数据库。专业版是直接访问。
当您运行服务器时,通常意味着您正在使用还提供一组 RESTful 服务的 Web 管理组件。这样做的优点是它位于不同的 JVM 中。这意味着您可以通过其他编程语言、通过网络等更轻松地访问它。您可以在许多 JVM 中拥有许多应用程序,它们都通过 RESTful 服务与服务器实例进行通信。一般来说,访问速度不那么快,但更灵活。但是,当您以这种方式运行它时,直接访问 java 应用程序内部的图形(使用 Neo4J API)是不受限制的。
如果您想从嵌入式数据库中运行 Web 管理/GUI 内容和 RESTful 服务,您可以这样做。请参阅这些说明了解如何操作。 http://fooo.fr/~vjeux/github/github-recommandation/db/doc/manual/html/server-embedded.html#_starting_the_server_from_java
这是一个代码片段:您需要的是WrappingNeoServerBootstrapper
.
AbstractGraphDatabase graphdb = getGraphDb();
WrappingNeoServerBootstrapper srv;
srv = new WrappingNeoServerBootstrapper( graphdb );
srv.start();
// The server is now running
// until we stop it:
srv.stop();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)