Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Neo4j因其嵌入式、高性能、轻量级等优势,越来越受到关注.
Neo4j - 特点和优势
Neo4j的特点
-
SQL就像简单的查询语言Neo4j CQL
-
它遵循属性图数据模型
-
它通过使用Apache Lucence支持索引
-
它支持UNIQUE约束
-
它它包含一个用于执行CQL命令的UI:Neo4j数据浏览器
-
它支持完整的ACID(原子性,一致性,隔离性和持久性)规则
-
它采用原生图形库与本地GPE(图形处理引擎)
-
它支持查询的数据导出到JSON和XLS格式
-
它提供了REST API,可以被任何编程语言(如Java,Spring,Scala等)访问
-
它提供了可以通过任何UI MVC框架(如Node JS)访问的Java脚本
-
它支持两种Java API:Cypher API和Native Java API来开发Java应用程序
Neo4j的优点
-
它很容易表示连接的数据
-
检索/遍历/导航更多的连接数据是非常容易和快速的
-
它非常容易地表示半结构化数据
-
Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习
-
它使用简单而强大的数据模型
-
它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引
Neo4j的缺点或限制
-
AS的Neo4j 2.1.3最新版本,它具有支持节点数,关系和属性的限制。
-
它不支持Sharding。