一般的斑鸠

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.neo4j介绍

Neo4j是由Java和Scala实现的开源NoSQL图数据库。自2003年开始研发,直到2007年正式发布第一版。Neo4j的源代码托管在GitHub上,技术支持托管在Stack Overflow和Neo4j Google讨论组上。Neo4j现如今已经被各种行业的数十万家公司和组织采用。Neo4j的使用案例涵盖了包括网络管理、软件分析、科学研究、路由分析、组织和项目管理、决策制定、社交网络等。

官方网站:https://neo4j.com

官方文档:https://neo4j.com/docs/

Github:  https://github.com/neo4j/neo4j

Example:   https://github.com/neo4j-examples

2.体系架构

宏观来说,neo4j只是支撑两种数据类型,即节点和关系。

节点:有多个属性,具备标签(区分不同类型的节点)

关系:一个关系有开始节点和终止节点,关系也有自己的属性和标签。

节点和关系都是使用固定长度进行数据存储,

1>    节点存储文件用来存储节点记录,文件名为:neostore.nodestore.db,长度为固定值9个字节。格式为:Node:inUse+nextReIId+nextPropId。其中0表示该节点已经删除,1表示该节点正在使用;nextRelld表示该节点的下一个关系ID。nextPropld表示该节点下一个属性ID。

2>   关系存储文件名称为:neostore.relationshipstore.db。跟节点存储一样,在存储区也是固定大小的。

3>   neo4j中,使用.id记录未使用的记录占用空间,节点和关系的存储文件只关心图的基本存储结构而不是属性数据,以便存储文件内的记录都可以根据ID快速计算出来。属性物理存档位置为neostore.propertystore.db 文件。Neo4j中有两种动态存储:动态字符存储(neostore.propertystore.db.string)和动态数据存储(neostore.propertystore.db.arrays)。

                                            节点关系图

 

 

 

 

posted on 2019-04-09 23:01  一般的斑鸠  阅读(1283)  评论(0编辑  收藏  举报