不懂Neo4j?没关系,一起学
- Neo4j是什么
- 为什么要用Neo4j
- 什么场景使用
- 怎么安装
一、Neo4j是什么
首先我们要了解下什么是Neo4j。Neo4j是一个高性能的、NoSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。
程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
上面的介绍比较正式,看了好像有点懵。其实,简单的说,Neo4j就是一个存储节点和边的图数据库,就类似树形结构一样,根节点—>子节点—>子节点。
二、为什么要用Neo4j
用MySQL存储的好好的,为啥要用Neo4j,相信很多人都有这个疑惑。
首先,正如上面所介绍的,Neo4j是一个NoSQL图形数据库。作为一个图形数据库,Neo4j具有以下优点:
- 灵活。不管有什么新的数据需要存储,Neo4j都是一律的节点和边,只需要考虑节点属性和边属性。但是在MySQL中存储的话需要很多表,并且表之间需要做join操作。
- 语句简单。相比SQL语句,CQL简单很多(CQL是什么?CQL代表Cypher查询语言,Neo4j将CQL作为查询语言,就像MySQL和SQL的关系一样)
- 数据库操作的速度并不会随着数据库的增大有明显的降低。这得益于Neo4j特殊的数据存储结构和专门优化的图算法。
三、什么场景使用
欺诈检测
通过图分析可以清楚地知道洗钱网络及相关嫌疑,例如对用户所使用的帐号、发生交易时的IP地址、MAC地址、手机IMEI号等进行关联分析。
推荐系统
比如你在淘宝上浏览了Thinkpad T480,它就在下面的猜你喜欢,推荐你Thinkpad E430,Thinkpad T580。
社交网络图
社区聚类分析,朋友朋友推荐(就像使用QQ的时候,王姨和你有32个共同好友),社交电商里面的绑定关系。
身份和访问管理
使用图形数据库进行身份和访问管理时,可以快速有效地跟踪用户,资产,关系和授权。
当然,使用场景远远不止这些,具体还要根据特定场景来判断。
四、怎么安装
这里以Linux安装为例:
1.下载社区版Neo4j(目前官网最新版:3.5.14)
可以官网下载,也可以在我网盘分享的链接下载(链接:https://pan.baidu.com/s/17wIpZuIwTras4HHdPh1uOQ 提取码:rc6e),官网下载是真的慢,所有就分享到网盘了。
2.解压
tar -zxvf neo4j-community-3.5.14-unix.tar.gz
3.开启远程访问
编辑neo4j配置文件
vim neo4j-community-3.5.14/conf/neo4j.conf
将 dbms.connectors.default_listen_address=0.0.0.0 前面的注释去掉
4.启动
进入neo4j的bin目录,./neo4j start,看到以下信息,则说明启动成功了。
如果不信的话,咱可以登陆控制台看下:http://IP:7474,默认用户名和密码都是 neo4j。
输入完用户名密码,点击 Connect后,可以看到下面界面,是一个修改密码的界面。
这样,neo4j 就安装ok了!
这篇文章就介绍了下基本的,是什么,为什么,怎么做。下篇文章继续介绍,neo4j的基本使用了。