Neo4j Note1:简介

Neo4j Note1:简介

简介

Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。专属的查询语言Cyper。
Neo4j中的主要组成部分:节点(node),关系(relationship),属性(property),标签(label)
  • 节点:一个图形的一个基本单元,表示一个实体
  • 属性:节点和关系都可拥有属性,表示为一个键值对,键名为字符串,值可以是数字,布尔值,字节,字符串,字符串数组,日期。
  • 关系:连接两个节点,包含一个开始节点和一个尾节点。
  • 标签:Label将一个公共名称与一组节点或关系相关联。 节点或关系可以包含一个或多个标签。 我们可以为现有节点或关系创建新标签。 我们可以从现有节点或关系中删除现有标签。

特点

  • 完整的ACID支持
  • 高可用性
  • 轻易扩展到上亿级别的节点和关系
  • 通过遍历工具高速检索数据

关系查询性能对比

在数据与关系中心,图数据库查询速度方面非常高效,即使对于深度和复杂的查询也是如此。
在关系数据库(MySQL)和图数据库(Neo4j)之间进行实验,在一个社交网络找到最大深度为5的朋友,数据集包括100万人,每人约50个朋友,实验如下:
深度
MySQL执行时间(s)
Neo4j执行时间(s)
返回记录数
2
0.016
0.01
-2500
3
30.267
0.168
-110 000
4
1543.505
1.359
-600 000
5
未完成
2.132
-800 000

对比关系数据库

关系数据库
图数据库
节点
列和数据
属性和数据
约束
关系

应用场景

  1. 欺诈检测
  1. 实时推荐引擎
  1. 知识图谱
  1. 反洗钱
  1. 主数据管理
  1. 供应链管理
  1. 增强网络和IT运行管理能力
  1. 数据谱系
  1. 身份和访问管理
  1. 材料清单