Neo4j是一个NoSQL的图数据库管理系统。图表示为一些节点和连接这些节点的关系的集合,节点表示实体,关系表示实体之间的连接方式。
Neo4j像其它数据库一样具有高效的查询性能。同时还具有完全事务管理特性,支持ACID事物管理。
具有非常强的表现力。
具有如下的特性:
1节点,关系和属性构成图数据库的三个基本要素。
2节点和关系的属性是一个key-value的数据集合
3每个关系都有一个开始节点和一个结束节点相互连接
4大多数情况下关系可以不需要属性
Neo4j的优势:
1查询的高性能
可以使用图结构的自然伸展特性来设计免索引邻近节点遍历的查询算法。图遍历算法是图数据库独特的算法,即从一个节点开始,根据其连接的关系,可以快速和方便地找出它的邻近节点。且这种方法不受数据量大小所影响,近邻查询查找的始终是有限的局部数据。
2设计的灵活性
随着需求的变化增加的节点,关系和属性并不会影响到原来数据的正常使用,更接近业务需求的变化。
3开发敏捷性
数据模型从需求讨论到设计开发到存储在数据库中没有什么变化。拉进了需求与设计实现之间的距离。