首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Neo4j如何在内部存储数据?

Neo4j如何在内部存储数据?
EN

Stack Overflow用户
提问于 2014-06-23 20:34:53
回答 1查看 12.7K关注 0票数 21

我的问题是从开发人员的角度(不是特别针对用户),可能有点混乱。我想知道节点和关系的结构是如何逻辑地存储在数据库中的。就像,当我说我有一个模糊的信息时。在哪里?-那么答案是,在书中,要么是网格的形式,要么是页面上的线条。在RDBMS的情况下,数据以网格/表格格式存储。但是我不能理解图形是如何存储在Neo4j/graph数据库中的。我使用的是neo4j client 2.1.2。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-23 20:47:12

http://www.slideshare.net/thobe/an-overview-of-neo4j-internals非常过时,但这让您对Neo4j逻辑表示有了很好的了解。

节点引用:

开始和结束它的第一个标签(我猜是标签被存储为单链表)

  • 它的第一个属性(属性被组织为单链表)

  • 它的开始/结束关系

关系被组织为双向链表。关系指向:

  • 其第一个属性(与节点相同)
  • 其起始节点的前置和后继关系
  • 其结束节点的前置和后继关系

由于这种链式结构,遍历(即查询数据的方式)的概念很容易出现。这就是为什么像Neo4j这样的图形数据库擅长遍历图形结构的数据。

我的粗略猜测也是,从Neo4j版本2.1 (和its newly introduced dense node management)开始,节点的关系是按类型分离的。通过这样做,如果节点N例如是类型A的5个关系和类型B的500万个关系的开始节点,则对于N的类型A的遍历关系保持为O(n=5)。

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24366078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档