Neo4j:它是内存图数据库吗? [英] Neo4j: is it a in-memory graph database?

查看:24
本文介绍了Neo4j:它是内存图数据库吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I have worked with bit older version of Neo4j i.e. 1.8.x. both embedded and REST mode. but I never heard that it store data in-memory. Recently I've been through Neo4j page which says 3 different type of access to neo4j viz:

  1. neo4j 服务器,即 REST 模式
  2. 嵌入式模式
  3. 内存中

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

How Neo4J works with data in-memory ? and when it was implemented ? was it there from older version i.e. 1.8.x ? or just added in newer version ? any additional changes required in configuration such as Spring data neo4j ?

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

My findings
I've heard about in-memory database that they handle most of the task in-memory i.e. RAM. for e.g. VoltDB and Redis. (for optimized performance).

推荐答案

Neo4j 具有称为 ImpermanentGraphDatabase 的精简变体.这仅用于测试.例如.当您开发启用图形的应用程序时,您的单元测试可能会使用它.不建议将 ImpermanentGraphDatabase 用于具有大量数据的现实生活场景.

Neo4j features a stripped down variant called ImpermanentGraphDatabase. This one is intended to be used for testing only. E.g. when you develop a graph enabled application your unit tests might use it. It is not recommended to use ImpermanentGraphDatabase for real life scenarios with large amounts of data.

要使用 ImpermanentGraphDatabase,您通常从 TestGraphDatabaseFactory,这个位于带有分类器 testsneo4j-kernel jar 中,参见参考手册.

To use ImpermanentGraphDatabase you typically start with TestGraphDatabaseFactory, this one resides in the neo4j-kernel jar with classifier tests, see in the reference manual as well.

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

Regardless if you're using Neo4j in embedded or server mode, multiple layers of caches get used to make your queries as fast as possible, for details look in the reference manual as well.

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

To sum up: Neo4j is a transactional, ACID compliant graph database benefitting from your provided amount of RAM by caching. But I won't consider this being a in-memory database.

这篇关于Neo4j:它是内存图数据库吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆