neo4j 图数据库安装及介绍

neo4j 图数据库安装及介绍

1、neo4j图数据库介绍

  图数据库,顾名思义就是利用了“图的数据结构来做为数据存储逻辑体现的一种数据库”,因此要想学好图数据库固然须要了解一些关于图数据结构的算法!一样的做为图数据结构中不少经常使用的算法在图数据库中是默认提供支持的,对数据进行查询、计算的操做,好比常见的最短路径算法pagerank算法等等这些算法,都是图数据结构中常见的算法!固然了neo4j做为一个图数据库固然也会提供这些算法的实现,方便使用者对数据进行操做!
  
  那么图数据结构具体又包含些什么特色?
  
  首先图数据结构,最重要的就是,边(Edge)顶点(Node)方向(Direction)三个最基本的元素,数据主要是挂载在顶点上,那么方向主要用来表示顶点和顶点之间的关系网这样将咱们须要分析的数据建模成为一个网状的模型,也就是所谓的,在某些场景中也会包含一些权重值,用于表示顶点顶点之间数据关系的重要性!
  
  下面就简单来进行模拟一个图的数据结构,徒手来画一个,更加直观
  
算法

  如上图就是很是的一个简单的图结构,这里面包含着电影、观众、导演、做家,很是的直观,固然目前的这个图是很是简单的图,这种关系经过传统的关系型数据库一样是能够进行描述的,可是关系型数据库在处理关系网的时候处理能力是相对弱的,并且比起图数据库来讲会显得麻烦复杂同时效率低下;好比我在在很是大的一个图中须要寻找节点之间最短路径,其实这种场景是很是常见的,好比QQ共同好友这些功能就是利用了你好友列表中的关系网,同时它可以给你推送你的其余好友中包含的好友,并且这种好友基本上你都是认识的,这就是典型的经过关系网进行分析得出的结果,具体的分析固然看业务,并且运用的场景也会很是多!
  
  上面这些基本上就算是基本的介绍,具体的使用场景和一些细节后面会专门在写相关的点的文章再来回顾!
  
  那么说了这么多,发现咱们的真实数据其实是能够在顶点上上的,那么上的数据固然是要和顶点之间创建某种关系联系的数据,上面的模型其实只是简单的数据模型,那么复杂的数据模型当中,的属性是很是多的,电影的属性也一样是很是多的,那么这些定点天然也就要承载更多的数据,因此顶点都后挂载属性,这样创建出来的数据模型就会更加完整,好比他有电话、家庭地址、工做等等,电影一样也会有不少属性,这样的话,天然而然经过对关系网的分析,其实会获得不少有用的价值,好比给他推荐电影推荐哪里的电影院合适等等问题!
  
  接下来再来讲说关系型数据库中会存在惟一键,一样图数据库中也存在惟一键顶点都存在
  
  根据上面所说的这些信息能够基本分析出来,图数据库中的数据模型基本上就是下面内容
  数据库

Edge:[Id,Object]
Node:[Id,Object]centos

  基本上就是上面的这种模型,一个图就是由全部的顶点全部的边构成的,那么如今暂时还不去管图数据库在底层究竟是怎么存储数据的,其实这里能够提一下,其实就是把边和顶点进行拆分,而后分别存储,可是具体不一样的图数据库实现是不同的,上面的Object表明的就是不断抽象出来的属性,因此,一个顶点和一条其实是能够存储不少数据的数据结构

上面这些内容基本上就说到这,后面在使用的过程当中会有更多的细节,同时会有更加深刻的了解,下面就是先把neo4j环境先弄起来分布式

2、neo4j环境搭建

  neo4j分为社区版企业版企业版为收费版本,主要是支持分布式,由于单节点的处理能力是有限的,可是收费很是高,因此在没有资源的状况下选择使用社区版本,单机进行处理图关系,固然对于大规模图处理还有其余的图数据库或者图数据引擎,好比Spark GraphxTian等等,还有不少,有些大公司内部估计还有本身的内部开发的分布式图数据库,好比蚂蚁金服Geabase、google开源的cayley等等,这里提到了图数据库图数据引擎,其实两个东西很类似可是却又有很明显的区别,图数据库中会提供一些ACID的支持,侧重点是查询,固然也可以分析,而且在应对一些小的数据规模也会很是好用;图数据引擎侧重点是对关系的分析发现,查询速度会相对于图数据库没有那么高的实时性,而且也通常不支持ACID的操做
  
  下面就进行搭建neo4j环境搭建,使用的是社区版全部就只在单机上进行安装
  
  安装环境准备
  
  centos7neo4j-community-3.4.12-unix.tar.gzjdk8
  
  neo4j下载地址
  
在安装以前须要将jdk安装完成,安装jdk就不写了google

$ tar -zxvf neo4j-community-3.4.12-unix.tar.gz

配置启动机器ip,我这里就配置成为我虚拟机的ipcentos7

配置文件conf/neo4j.confunix

dbms.connectors.default_listen_address=192.168.56.22

上面安装完成以后能够关闭防火墙或者开放74747687两个端口rest

关闭防火墙code

$ systemctl disable firewalld
$ systemctl stop firewalld

开启neo4j服务

$ ./bin/neo4j start   #开启
$ ./bin/neo4j restart #重启
$ ./bin/neo4j stop    #关闭

  
启动以后访问http://192.168.56.22:7474/

默认用户名和密码都为neo4j

输入以后,从新设置密码,neo4j就安装完成了,就可以进行使用了!后面再来讲如何使用吧!单机版的安装很是简单的!

相关文章
相关标签/搜索