Neo4j

  • 什么是Neo4j?
  • 图形数据库
  • 图数据库重要技术
  • 为什么需要图形数据库
  • 图形数据库的常见用例


什么是Neo4j?

Neo4j的官方网站

Neo4j是一个高性能的, NOSQL图形数据库(Graph Database),它将结构化数据存储在网络上而不是表中。
图形数据库也称为图形数据库管理系统或GDBMS。
它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。

Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。

程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。【1】

图数据Neo4j技术架构图 图数据库neo4j和dgraph 图形数据库neo4j_neo4j

图形数据库

图形数据库是以图形结构的形式存储数据的数据库。
是个在线数据库管理系统,在图形数据模型上执行创建、读取、更新和删除(CRUD)操作。

不像其他关系数据库,在图数据库关系占第一优先地位。这意味着你的应用不需要使用外键或带外处理(out-of-band processing,如MapReduce)来推论数据连接。
图数据库的数据模型跟关系型数据库或者NoSQL数据库相比,明显更为简单也更有表现力。

图数据库是为了与事务处理(OLTP)系统一起使用而构建的,并且在设计时考虑到事务完整性和操作可用性。

图数据库重要技术

  1. 图库( Graph Storage)
  2. **图处理引擎(Graph Processing Engine) **

它以节点,关系和属性的形式存储应用程序的数据。 正如RDBMS以表的“行,列”的形式存储数据,GDBMS以“图形”的形式存储数据。

为什么需要图形数据库

如今CIO(Chief Information Officer)或CTO(Chief Technology Officer)不仅需要管理更大的数据量,还需要从现有数据中获得洞察力
在这种情况下,数据点之间的关系比单个点本身更重要。

为了利用数据关系,需要一种将关系信息存储为一级实体的数据库技术。
这就是图形数据库。

Ironically, 关系数据库管理系统(RDBMS)在处理数据关系方面反倒很差。RDBMS的严谨的Schema使得添加不同的连接或适应新的业务需求变得困难。

图形数据库不仅能有效地存储数据关系,而且在扩展数据模型或满足不断变化的业务需求时也很灵活。

图形数据库的常见用例

  1. Fraud detection
  2. Real-time recommendation engines
  3. Master data management (MDM)
  4. Network and IT operations
  5. Identity and access management (IAM)

从沃尔玛、eBay和阿迪达斯等企业到Cobrain、Zephyr Health和Wanderu等初创企业,甚至包括ICIJ和世界经济论坛等非营利性企业,图形数据库的案例研究具有丰富的多样性和深度。【2】

[1]: Neo4j 百度百科 https://baike.baidu.com/item/Neo4j/9952114?fr=aladdin [2]: Neo4j Documentation https://neo4j.com/docs/