我有一个关于如何将Neo4j中的图形加载到内存中的问题 来自磁盘。
阅读链接here,我想我理解图表是如何表示的 磁盘。当创建一个新的Neo4j数据库时,就有了 物理上分隔为节点,边缘和属性创建的文件 商店(主要是)。
当您向Neo4j发出查询时,请执行以下操作:
1)使用a将整个图形(节点,边缘,属性)加载到内存中 双重链接列表结构?
OR
2)确定查询所需的节点,边缘并填充 列表结构,随机访问相关商店(节点, 边缘)在磁盘上?如果是这样,Neo4j如何最小化磁盘访问次数?
答案 0 :(得分:2)
frobberOfBits提到它更像是#2。通过双层缓存架构最小化了磁盘访问,最佳描述在reference manual中。 即使您的缓存小于存储文件,这也会导致搜索操作(因为固定的记录长度)。这种操作通常很快(使用SSD等适当的硬件更快)