赞
踩
前言:NoSQL数据库四大家族 列存储 Hbase,键值(Key-Value)存储 Redis,图像存储 Neo4j,文档存储 MongoDB
Neo4j是以原生图形数据库为核心,以更自然的连接状态存储和管理数据。 是用 Java 和 Scala 编写的,源代码可在GitHub上找到。
图数据库采用属性图方式,对遍历性能和操作运行时间都有好处。
图数据库是使用图数据结构存储数据,图数据结构由可以通过关系连接的节点组成,如下图
Neo4j 属性图数据库模型包括:
我们可以从上图来认识下图数据库模型
Neo4j 最初是作为嵌入式 Java 数据库创建的;这就是名称中的“4j”的来源。Neo4j 最初创建是为了解决创始人在构建内容管理系统 (CMS) 时遇到的一些问题,特别是围绕照片使用的一些权利和元数据。他们发现由于所有不同的连接和关系以及数据的丰富性,很难在关系数据库中表示。所以这就是 Neo4j 最初被创建的原因。
创始人也很快意识到,除了 CMS 应用程序中的这个嵌入式数据库之外,还有许多其他有趣的用例。所以 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超时
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 是一种声明式图查询语言,允许对图进行富有表现力和高效的查询、更新和管理。由于它与其他语言的相似性和直观性,它是迄今为止最容易学习的图形语言。
我们已经知道cypher是用来查询neo4j图数据中的数据,所以我们可以结合一个图数据来认识cypher语法
从
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。