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

agp*_*gpt 5 neo4j in-memory-database

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

  1. neo4j服务器即REST模式
  2. 嵌入模式
  3. 在记忆中

Neo4J如何处理内存中的数据?什么时候实施?它是从旧版本,即1.8.x?或者只是添加了更新的版本?配置中需要的任何其他更改,例如Spring数据neo4j?

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

Ste*_*ter 10

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

要使用ImpermanentGraphDatabase,通常首先使用ImpermanentGraphDatabase TestGraphDatabaseFactory,这个数据库位于neo4j-kernel带有分类器的jar中tests,请参阅参考手册.

无论您是在嵌入式还是服务器模式下使用Neo4j,都可以使用多层缓存来尽快查询,有关详细信息,请参阅参考手册.

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