返回介绍

3.2 Neo4j

发布于 2024-10-01 22:56:28 字数 1658 浏览 0 评论 0 收藏 0

Neo4j 是一个高性能的,NOSQL 图形数据库,它将结构化数据存储在网络上而不是表中。它是一个 嵌入式 的、基于 磁盘 的、 具备完全的事务特性的 Java 持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图) 上而不是表中。Neo4j 也可以被看作是一个高性能的图引 擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、 企业级的数据库的所有好处。

存储结构

数据存储主要分为节点、关系、节点或关系上属性这三类数据存储,这些数据也可以通过 Lucene 进行存储检索。

node,relationship,property 存储都是固定大小的。

1574510328543

图 15 Neo4j 数据存储结构

1574510354806

表格 6 Neo4j 数据存储说明

组件长度 bytes存储文件简介
节点15neostore.nodestore.db 
关系34neostore.relationshipstore.db双向链表
属性 neostore.propertystore.db单向链表

图 16 Neo4j 数据存储示例

  • 节点包含指向关系链和属性链的第一个指针。

  • 指向 Label 的指针,可能多个。

  • 属性读取从单向链表的第一个开始

  • 关系读取直接在双向链表中查找,直到找到想要的关系。

集群架构

1574510379417

图 17 Neo4J 集群的架构

每个 Neo4J 集群都包含一个 Master 和多个 Slave。该集群中的每个 Neo4J 实例都包含了图中的所有数据。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文