neo4j图数据库详细说明

前言:NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储 MongoDB

一、简介

1.1 什么是neo4j

Neo4j是以原生图形数据库为核心,以更自然的连接状态存储和管理数据。 是用 Java 和 Scala 编写的,源代码可在GitHub上找到。

图数据库采用属性图方式,对遍历性能和操作运行时间都有好处。

1.1.1 什么是图数据库

图数据库是使用图数据结构存储数据,图数据结构由可以通过关系连接的节点组成,如下图

image

Neo4j 属性图数据库模型包括:

  • 节点描述域的实体(离散对象)。
  • 节点可以有零个或多个标签来定义(分类)它们是什么类型的节点。
  • 关系描述了源节点和目标节点之间的连接。
  • 关系总是有一个方向(一个方向)。
  • 关系必须有一个类型(一种类型)来定义(分类)它们是什么类型的关系。
  • 节点和关系可以具有进一步描述它们的属性(键值对)

在这里插入图片描述

我们可以从上图来认识下图数据库模型

  • 节点:三个方框
  • 标签:方框上半部分
  • 节点属性:方框下半部分
  • 关系:虚线和实线
  • 关系类型:ACTED_IN和DIRECTED
  • 关系属性:roles=[‘Forrest’]

1.2 neo4j历史

Neo4j 最初是作为嵌入式 Java 数据库创建的;这就是名称中的“4j”的来源。Neo4j 最初创建是为了解决创始人在构建内容管理系统 (CMS) 时遇到的一些问题,特别是围绕照片使用的一些权利和元数据。他们发现由于所有不同的连接和关系以及数据的丰富性,很难在关系数据库中表示。所以这就是 Neo4j 最初被创建的原因。

创始人也很快意识到,除了 CMS 应用程序中的这个嵌入式数据库之外,还有许多其他有趣的用例。所以 Neo4j 很快演变成一个更通用的系统迅速被使用在个性化推荐,以及处理物流和路线、网络拓扑图等地方.

1.3为什么要使用neo4j

我们生活在一个互联的世界中,无论是社交网络、支付网络还是道路网络,您都会发现一切都是相互关联的关系图

传统数据库数据格式很难处理数据之前的关联关系,就算有主键关联,随着深度加深难度指数上升,而因为neo4j使用的是图数据库的方式存储,意味着我们不需要使用特殊属性(例如外键)或带外处理(例如 map-reduce)来推断实体之间的连接。通过将节点和关系组装成连接的结构,图数据库使我们能够构建简单而复杂的模型,这些模型紧密地映射到我们的问题域。

在neo4j官网中有一份测评报告,查找用户好友及好友的好友,包含100万数据的,mysql及neo4j效率对比如下

层级 Execution Time – MySQL Execution Time–Neo4j
2 0.016 0.010
3 30.267 0.168
4 1,543.505 1.359
5 Not Finished in 1 Hour 2.132

上述结果可以看出简单的好友查询neo4j比mysql快60%,查朋友的朋友时,neo4j效率比mysql高180倍,深度为3时,neo4j效率比mysql高1135倍,深度为五时mysql超时

二、neo4j安装

1、官网下载合适版本,下载链接
4.0版本以上就需要jdk11支持了

2、解压安装包

3、bin目录下打开cmd

4、neo4j.bat install-service安装neo4j服务

5、neo4j.bat start启动

6、使用浏览器neo4j http://127.0.0.1:7474/

默认的账号是 neo4j 密码 neo4j
这里第一次登录的话会要求修改密码

至此我们就可以正常使用neo4j了

我们在使用过程中需要学习Cypher图形查询语言

三、cypher语言学习

3.1 什么是Cypher语言

Cypher 是一种声明式图查询语言,允许对图进行富有表现力和高效的查询、更新和管理。由于它与其他语言的相似性和直观性,它是迄今为止最容易学习的图形语言。

3.2 学习Cypher语言

3.2.1 cypher语法介绍

我们已经知道cypher是用来查询neo4j图数据中的数据,所以我们可以结合一个图数据来认识cypher语法

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值