Web应用程序 - 每用户Neo4j数据库

时间:2014-12-26 12:30:46

标签: servlets graph neo4j

我一直在Java Servlet Web应用程序(Maven web app原型项目)的上下文中使用neo4j。我有一个单独的MySQL服务器运行,它存储用户信息。

应用程序需要为每个需要存储的用户提供单独的图形数据库(最好是在数据库中,而不是服务器上的文件夹)。

我使用以下代码创建数据库:

GraphDatabaseService graphDb = new GraphDatabaseFactory().newEmbeddedDatabase("Neo4j/db");

这将数据库存储在服务器主机上的本地目录中。污染'污染'主机通过为每个用户创建一个本地图形数据库(例如,它将消耗主机内存用于数据存储,这自然是数据库的责任)。此外,如果我不需要配置和运行单独的neo4j服务器,我更愿意。

是否有某种方法可以将neo4j数据库保存在内存中,将其序列化以便将数据存储在关系数据库中,并在服务器需要使用图形数据库时对其进行反序列化? < / p>

1 个答案:

答案 0 :(得分:0)

没有任何东西阻止您拥有一个Neo4j实例,您可以在其中存储所有用户的图表。如果您认为可以通过使用多个图表来解决问题,则意味着用户的图表已断开连接。在这种情况下,如果您在一个图表中开始遍历,它将无法到达其他图表,从而暴露其他用户的数据。您所需要的只是MySQL数据库中的用户与Neo4j中的用户节点之间的链接,您可以通过例如Neo中的:用户节点上的名为mysqlId的属性来实现。