Java中的小规模内存图数据库

时间:2014-11-11 10:45:38

标签: java neo4j in-memory-database

我打算编写一个Java应用程序,它依赖于一个小的(大约3000个节点)图来表示它的结构。应在启动时从自定义文件加载数据以创建内存中图形数据库。我已经看过Neo4j,但发现你不能让它直接在内存中运行。谷歌搜索谷歌JIMFS(Java内存文件系统)可能适合我的需要。

  • 有没有人有使Neo4j在JIMFS文件系统上工作的经验?
  • 对于小规模图形,是否有更适合在Java中工作的替代方案(可能是内存开箱即用,如HSQLDB),并且仍然提供像Cypher这样的声明性查询语言?

请注意,性能对我来说不是一个问题,它更像是一个收集图形数据库经验的游乐场,但我不希望应用程序创建数据库文件系统磁盘。

2 个答案:

答案 0 :(得分:3)

  

请注意,对我而言,表现并不是一个问题,

在这种情况下,你可以去neo4j的ImpermamentGraphDatabase,它是这样创建的:

graphDb = new TestGraphDatabaseFactory().newImpermanentDatabase();

它不会在文件系统上创建任何文件。

来源:

http://neo4j.com/docs/stable/tutorials-java-unit-testing.html

答案 1 :(得分:0)

我不知道为什么你不希望应用程序在磁盘上创建数据库文件系统,但我可以很容易地告诉你有很多选择。我使用neo4j并且在大多数情况下发现它的查询方法清晰且可视化非常有用,因此在我有限的知识中,使它成为我的头号选择。但是考虑到您的要求,您可能会发现这很有趣:

https://bitbucket.org/lambdazen/bitsy/wiki/Home