neo 4j 介绍
neo4j 是世界领先的开源图数据库。它完全由java语言编写实现,具有高可用性,可伸缩性,可以轻易扩展到上亿级别的节点和关系,通过遍历工具高速检索数据。
因为阐述图数据库概念需要大量篇幅,所以本文不做过多解释。详细内容可以查询neo4j中文手册:http://neo4j.com.cn/public/docs/index.html
neo4j 企业版和社区版比较
neo4j 分为企业版(收费)和社区版(开源)两个版本
- 企业版具有社区版的所有功能
- 企业版支持集群(水平扩展/高可用),社区版只有单机模式,但是可以搭配其他高可用软件和共享存储实现高可用
- 企业版支持热备份,社区版不支持
- 社区版没有日志功能,neo4j提供安全日志和查询日志两种,用于记录数据库查询和发生的安全事件,但仅在企业版才支持
- 企业版可以设置事务超时时间,以及列出运行的查询,可以选择终止一个或多个查询。
- 企业版具有诊断和调优工具
- 企业版具有锁管理
- 企业版具有cypher查询追踪
- 企业版具有缓存共享
- 企业版具有企业级监控
- 企业版具有世界级支持
neo4j 安装
环境介绍
系统:centos 7.2 单机部署
neo4j:社区版3.4.1 二进制包
neo4j下载地址: https://neo4j.com/download
安装过程
安装JDK 1.8。(neo4j 要求jdk版本最低1.8)
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
解压下载下来的neo4j 二进制包
tar xf neo4j-community-3.4.1-unix.tar.gz -C /data/services/ ln -s neo4j-community-3.4.1/ neo4j
neo4j解压完就算安装完成了,neo4j的安装目录和其他服务大同小异,基本跟进目录名称就算是见名知义了
[root@c7-node1 services]# ll /data/services/neo4j/ 总用量 144 drwxr-xr-x 3 112 65534 110 6月 11 23:11 bin drwxr-xr-x 2 112 65534 24 7月 11 21:00 conf drwxr-xr-x 3 112 65534 23 6月 11 22:57 data drwxr-xr-x 2 112 65534 6 6月 11 22:57 import drwxr-xr-x 2 root root 4096 7月 11 21:00 lib -rw-r--r-- 1 112 65534 84668 6月 11 22:57 LICENSES.txt -rw-r--r-- 1 112 65534 36005 6月 11 22:57 LICENSE.txt drwxr-xr-x 2 112 65534 6 6月 11 22:57 logs -rw-r--r-- 1 112 65534 5983 6月 11 22:57 NOTICE.txt drwxr-xr-x 2 112 65534 6 6月 11 22:57 plugins -rw-r--r-- 1 112 65534 1596 6月 11 22:57 README.txt drwxr-xr-x 2 112 65534 6 6月 11 22:57 run -rw-r--r-- 1 112 65534 96 6月 11 22:57 UPGRADE.txt
neo4j执行文件介绍
cypher-shell:操作Cypher的程序
neo4j:服务端程序
neo4j-admin:管理工具,设置命令,数据恢复等功能
neo4j-import:数据导入导出工具
neo4j-shell:已被废弃,建议停止使用
修改neo4j配置文件
修改neo4j配置文件,设置监听地址为0.0.0.0 允许远程连接,默认为localhost
[root@c7-node1 neo4j]# vim conf/neo4j.conf dbms.connectors.default_listen_address=0.0.0.0
启动neo4j
使用neo4j程序可启动或关闭neo4j服务端程序,如下:
[root@c7-node1 neo4j]# ./bin/neo4j --help Usage: neo4j { console | start | stop | restart | status | version }
启动完成,显示如下
[root@c7-node1 neo4j]# ./bin/neo4j start Active database: graph.db Directories in use: home: /data/services/neo4j config: /data/services/neo4j/conf logs: /data/services/neo4j/logs plugins: /data/services/neo4j/plugins import: /data/services/neo4j/import data: /data/services/neo4j/data certificates: /data/services/neo4j/certificates run: /data/services/neo4j/run Starting Neo4j. WARNING: Max 1024 open files allowed, minimum of 40000 recommended. See the Neo4j manual. Started neo4j (pid 3385). It is available at http://0.0.0.0:7474/ There may be a short delay until the server is ready. See /data/services/neo4j/logs/neo4j.log for current status.
启动之后可以打开浏览器访问服务器:http://192.168.28.71:7474/browser/,会跳转到如下页面
neo4j默认用户名和密码均为neo4j,第一次登陆neo4j必须修改密码。
配置neo4j连接器
应用程序端与neo4j之间通信需要有相应的机制保障,从而neo4j连接器应用而生,neo4j提供了非常丰富的连接机制,支持bolt二进制协议和http/https连接方式。默认情况下可配置三种不同的neo4j连接器。配置https连接器需要安装证书才行。
连接器 | 协议 | 端口 |
dbms.connector.bolt | Bolt 二进制协议 | 7687 |
dbms.connector.http | http协议 | 7474 |
dbms.connector.https | https 协议 | 7473 |
每种neo4j连接器均有三个参数,enabled,listen_address,advertised_address,参数的配置信息说明如下:
参数名 | 默认值 | 描述 |
enabled | true | 允许启用或禁用客户端连接器 |
listen_address | IP地址:端口 | 监听的IP地址 |
advertised_address | IP地址:端口 | 客户端使用此连接器的IP地址 |
Neo4j 官方实例入门
为了方便用户入门,neo4j web管理页面提供了一个官方入门实例“电影关系图”,帮助初学者在自己电脑上一步步创建一个入门级别的图数据库。
打开,neo4j web管理页面后,在引导实例区单击“write code”链接进入代码书写引导页,然后单击movie graph下的create a graph链接就进入“电影关系图”实例引导页面了。如下图:
本指南将向你展示如何:
- 创建:将电影数据插入图表
- 查找:检索单个电影和演员
- 查询:发现相关演员和导演
- 解决,培根路径
- 清理:实验完成之后,删除电影数据
学习资料
neo4j 官网:https://neo4j.com/
neo4j中文社区:http://neo4j.com.cn/