Neo4j – 概述

Neo4j – 概述


Neo4j 是世界领先的开源图形数据库,它使用 Java 技术开发。它具有高度可扩展性和无模式 (NoSQL)。

什么是图数据库?

图是一组对象的图形表示,其中一些对象对通过链接连接。它由两个元素组成——节点(顶点)和关系(边)。

图数据库是用于以图的形式对数据进行建模的数据库。在这里,图的节点描述了实体,而关系描述了这些节点的关联。

流行的图形数据库

Neo4j 是一种流行的图形数据库。其他图形数据库包括 Oracle NoSQL Database、OrientDB、HypherGraphDB、GraphBase、InfiniteGraph 和 AllegroGraph。

为什么是图数据库?

如今,大多数数据以不同对象之间的关系形式存在,而且更多时候,数据之间的关系比数据本身更有价值。

关系数据库存储高度结构化的数据,这些数据有多个记录存储相同类型的数据,因此它们可用于存储结构化数据,并且不存储数据之间的关系。

与其他数据库不同,图数据库将关系和连接存储为一流的实体。

与其他数据库相比,图数据库的数据模型更简单,并且可以与 OLTP 系统一起使用。它们提供事务完整性和操作可用性等功能。

RDBMS 与图形数据库

下表比较了关系数据库和图数据库。

Sr.No 关系型数据库管理系统 图数据库
1 图表
2 节点
3 列和数据 属性及其值
4 约束 关系
5 加入 遍历

Neo4j的优势

以下是 Neo4j 的优点。

  • 灵活的数据模型– Neo4j 提供了一个灵活简单但功能强大的数据模型,可以根据应用程序和行业轻松更改。

  • 实时洞察– Neo4j 提供基于实时数据的结果。

  • 高可用性– Neo4j 对具有事务保证的大型企业实时应用程序高度可用。

  • 连接和半结构化数据– 使用 Neo4j,您可以轻松表示连接和半结构化数据。

  • 轻松检索– 与其他数据库相比,使用 Neo4j,您不仅可以表示而且可以轻松检索(遍历/导航)连接的数据。

  • Cypher 查询语言– Neo4j 提供了一种声明式查询语言,使用 ascii-art 语法直观地表示图形。这种语言的命令是人类可读的格式,非常容易学习。

  • 无连接– 使用 Neo4j,它不需要复杂的连接来检索连接/相关的数据,因为它很容易在没有连接或索引的情况下检索其相邻节点或关系详细信息。

Neo4j 的特点

以下是 Neo4j 的显着特点 –

  • 数据模型(灵活模式) – Neo4j 遵循名为本机属性图模型的数据模型。在这里,图包含节点(实体)并且这些节点相互连接(由关系描述)。节点和关系将数据存储在称为属性的键值对中。

    在 Neo4j 中,不需要遵循固定模式。您可以根据需要添加或删除属性。它还提供模式约束。

  • ACID 属性– Neo4j 支持完整的 ACID(原子性、一致性、隔离性和持久性)规则。

  • 可扩展性和可靠性– 您可以通过增加读/写次数和容量来扩展数据库,而不会影响查询处理速度和数据完整性。Neo4j 还为数据安全性和可靠性提供了复制支持

  • Cypher 查询语言– Neo4j 提供了一种强大的声明式查询语言,称为 Cypher。它使用 ASCII 艺术来描绘图形。Cypher 易于学习,可用于创建和检索数据之间的关系,而无需使用诸如连接之类的复杂查询。

  • 内置 Web 应用程序– Neo4j 提供内置的Neo4j 浏览器Web 应用程序。使用它,您可以创建和查询图形数据。

  • 驱动程序– Neo4j 可以使用 –

    • REST API 可与 Java、Spring、Scala 等编程语言一起使用。

    • 与 UI MVC 框架(例如 Node JS)一起使用的 Java 脚本。

    • 它支持两种 Java API:Cypher API 和 Native Java API 来开发 Java 应用程序。除了这些,您还可以使用其他数据库,例如 MongoDB、Cassandra 等。

  • 索引– Neo4j 通过使用 Apache Lucence 支持索引。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁