1、何为Neo4j
Neo4j是一个高性能的NOSQL图形数据库,是一个嵌入式的、基于磁盘的,数据结果为网格(图)、具备完全的事务特性的Java持久化引擎。
数据结构
在一个图中包含两种基本的数据类型:Nodes**(节点)** 和 Relationships**(关系)。Nodes** 和 Relationships 包含key/value形式的属性。Nodes通过Relationships所定义的关系相连起来,形成关系型网络结构。
功能特性
- Property Graph Model(属性图模型)
- Native Graph Processing & Storage(本地图形处理和存储)
- ACID(事务管理)
- Cypher – Graph Query Language(支持Cypher图查询语句)
- REST API(Restful风格的api)
- High-Performance Native API(本机高性能api)
- HTTPS
为啥要使用图数据
- 关系型数据库不擅长处理数据之间的关系,而图数据库在处理数据之间关系方面灵活且高性能
- 社交、物联网、金融、电商等领域数据指数增长的情况下传统的关系型数据库在处理复杂关系的数据上表现很差。因为大多数的处理方式是join连接,数据量很大的情况下耗时严重。
- 查询时间与图的整体规模无关,只与每个节点的邻点数量有关。