SringBoot 集成neo4j 基础加开发

1.图数据库Neo4j介绍

随着技术的发展,我们对数据的需求已经不再局限于对数据本身的获取了,我们还需要获取数据与数据间的关系(也就是连接数据)。

简单地说,我们可以说图数据库主要用于存储更多的连接数据(因为图结构相比其他数据结构而言,能保存更多的数据间的关系)。

如果我们使用 RDBMS 数据库来存储更多连接的数据,那么它们不能提供用于遍历大量数据的适当性能。 在这些情况下,Graph Database 提高了应用程序性能。

如今,大多数社交网络应用程序(如Facebook,Google +,LinkedIn,Twitter,Yammer 等)和视频托管应用程序(如 Google YouTube,Flickr,Yahoo Video等)都在使用更多连接的数据。

我们将观察什么是连接数据? 以及这些应用程序如何与某些实时应用程序存储数据。

2.Neo4j - 特点和优势

Neo4j的缺点或限制

2.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的优点

  • 它很容易表示连接的数据

  • 检索/遍历/导航更多的连接数据是非常容易和快速的

  • AS的Neo4j 2.1.3最新版本,它具有支持节点数,关系和属性的限制。

  • 它不支持Sharding。

  • 它非常容易地表示半结构化数据

  • Neo4j CQL查询语言命令是人性化的可读格式,非常容易学习

  • 使用简单而强大的数据模型

  • 它不需要复杂的连接来检索连接的/相关的数据,因为它很容易检索它的相邻节点或关系细节没有连接或索引

使用 Google+GooglePlus)应用程序来了解现实世界中 Graph 数据库的需求。 观察下面的图表。 在这里,我们用圆圈表示了 Google+应用个人资料。

                

在上图中,轮廓“A”具有圆圈以连接到其他轮廓:家庭圈(B C  D)和朋友圈(B C)。 再次,如果我们打开配置文件“B”,我们可以观察以下连接的数据。

                         

像这样,这些应用程序包含大量的结构化,半结构化和非结构化的连接数据。   在 RDBMS 数据库中表示 这种非结构化连接数据并不容易。如果我们在 RDBMS 数据库中存储这种更多连接的数据,那么检索或  遍历是非常困难和缓慢的。所以要表示或存储这种更连接的数据,我们应该选择一个流行的图数据库。

图数据库非常容易地存储这种更多连接的数据  它将每个配置文件数据作为节点存储在内部,它与相邻 节点连接的节点,它们通过关系相互连接。他们存储这种连接的数据与上面的图表中的相同,这样检索  或遍历是非常容易和更快的。

关系查询性能对比 在数据关系中心,图形数据库在查询速度方面非常高效,即使对于深度和复杂的查询 也是如此。在关系型数据库和图数据库(Neo4j)之间进行了实验:在一个社交网络里找到最大深度为5  朋友的朋友,他们的数据集包括100万人,每人约有50个朋友

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值