需要有关Neo4j文件系统的信息

时间:2015-08-13 16:09:20

标签: neo4j

你们所有人。我需要了解更多关于Neo4j的商店文件。我想知道是否有人回答了我的问题。 以下列表显示了我的问题: 1.所有节点都存储在一个商店文件中吗? 2.是否有另一个商店文件来保存或保存标签? 3.我可以使用普通函数从Neo4j创建的商店文件中读取每条记录吗?

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

O'Reilly的图形数据库是免费的,对于理解Neo4j的内部结构是一个很好的回应。他们最近还出版了第二版:

http://graphdatabases.com/

答案 2 :(得分:0)

此外,您可以浏览Neo4j源代码。

商店 - https://github.com/neo4j/neo4j/tree/2.3/community/kernel/src/main/java/org/neo4j/kernel/impl/store

例如,如果查看NodeStore,我们可以找到以下内容:

  • 节点存储在单独的文件中
  • 每条记录使用15个字节
  • 按id获取节点记录只是:计算偏移量并读取15个字节
  • 节点记录分为几个部分:
    • [byte] isInUse - 我们可以使用此记录来存储节点吗? (当删除节点时,不删除任何实际数据,它们只是将记录标记为未使用,并使其可用于将来的写入)
    • [int] nextRel - 指向下一个关系的指针(存储在单独的文件中)
    • [int] nextProp - 指向下一个属性(存储在单独的文件中)
    • [int + byte]一些标签内容
    • [byte]" extra"

等等。

根据我的经验,关于Neo4j内部的资源非常少。他们中的大多数都已经过时了 这就是为什么,从我的观点来看 - 探索源代码是最好的观点,以便真正进入"它如何运作"。