1 图数据库
与传统数据库不同,图数据库在底层用图的方式存储用户定义的节点和关系。因此,在查询两个节点的联系时,可以在图上从其中一个节点开始,通过表示节点与节点之间关系的线段,到达另一节点,根据这一过程中经过的节点与关系,得到两个节点之间的联系。因此,图数据库可以高效地处理复杂网络关系。
2 Neo4j 的特点
2.1 特点
- 在创建节点的同时建立关系
- 时间复杂度在常数级别
- 基于JVM实现
- 有事务机制
2.2 优点
- 数据插入和查询直观,不需要考虑表之间的联系
- 查询的时间复杂度低,速度快
- 有效避免并行冲突的问题
2.3 缺点
- 插入数据速度极慢
- 当某个节点的边特别多时,对于该节点的操作速度会大大下降
3 Neo4j 的应用
适用于修改较少,查询较多,没有超大节点(即连接的边特别多的节点)的图数据。如社交网络,推荐引擎等等。