Neo4j:它是一个内存中的图形数据库吗?

时间:2014-08-25 07:51:41

标签: neo4j in-memory-database

我使用过Neo4j的旧版本,即1.8.x. 嵌入式和REST模式。但我从未听说它将数据存储在内存中。最近我通过Neo4j page说了3种不同类型的访问neo4j viz:

  1. neo4j服务器即REST模式
  2. 嵌入模式
  3. 内存
  4. Neo4J如何处理内存中的数据?什么时候实施?是旧版本,即1.8.x吗?或者只是添加了更新的版本?配置中需要的任何其他更改,例如Spring数据neo4j?

    我的发现
    我听说过内存数据库,它们处理内存中的大部分任务,即RAM。例如 VoltDB Redis 。 (为了优化性能)。

1 个答案:

答案 0 :(得分:10)

Neo4j具有一个名为ImpermanentGraphDatabase的精简变体。这个仅用于测试。例如。当您开发支持图形的应用程序时,您的单元测试可能会使用它。 建议不要将ImpermanentGraphDatabase用于包含大量数据的真实场景。

要使用ImpermanentGraphDatabase,通常以TestGraphDatabaseFactory开头,此版本位于带neo4j-kernel的{​​{1}} jar中,请参阅reference manual

无论您是在嵌入式还是服务器模式下使用Neo4j,都会使用多层缓存来尽快进行查询,详细信息请参见reference manual

总结:Neo4j是一个事务性的,符合ACID的图形数据库,它通过缓存从您提供的RAM量中受益。但我不认为这是一个内存数据库。