图的Neo4j表示

图的Neo4j表示,neo4j,Neo4j,我有一个关于Neo4j中的图形如何加载到内存的问题 从磁盘 通过阅读链接,我想我理解了图形在屏幕上的表示方式 磁盘。当创建新的Neo4j数据库时,有 为节点、边和特性创建的物理分隔文件 商店(主要) 向Neo4j发出查询时,是否: 1) 使用 双链接列表结构 或 2) 确定查询所需的节点、边并填充 随机访问相关存储(节点、, 在磁盘上?如果是这样,Neo4j如何减少磁盘访问的次数?正如frobberOfBits提到的,它更像是2。磁盘访问通过两层缓存体系结构最小化,该体系结构在中有最好的描述。

我有一个关于Neo4j中的图形如何加载到内存的问题 从磁盘

通过阅读链接,我想我理解了图形在屏幕上的表示方式 磁盘。当创建新的Neo4j数据库时,有 为节点、边和特性创建的物理分隔文件 商店(主要)

向Neo4j发出查询时,是否:

1) 使用 双链接列表结构

2) 确定查询所需的节点、边并填充 随机访问相关存储(节点、,
在磁盘上?如果是这样,Neo4j如何减少磁盘访问的次数?

正如frobberOfBits提到的,它更像是2。磁盘访问通过两层缓存体系结构最小化,该体系结构在中有最好的描述。 即使您的缓存小于存储文件,这也会导致大多数带有读取的查找操作(因为记录长度固定)。这种操作通常很快(使用合适的硬件(如SSD)甚至更快)

更像是#2,但事实并非如此。您应该尝试在一些cypher查询上运行
PROFILE
,并检查它生成的计划。这将为您提供它如何访问信息的具体示例。