NEO4J实战之《阿丽塔战斗天使》

欢迎关注作者博客
简书传送门

文章目录

      • 前言
      • 1.1 图数据库介绍
      • 1.2 Neo4j介绍
      • 1.3 Neo4j安装与基本操控
        • 1.3.1 Neo4j的安装部署
          • 1.3.1.1 Neo4j的版本分类
          • 1.3.1.2 Windows系统下载与安装
          • 1.3.1.3 CentOS系统安装Neo4j
          • 1.3.1.4 Ubuntu系统安装Neo4j
          • 1.3.1.5 Mac系统安装Neo4j
        • 1.3.2 Neo4j管理平台的使用
          • 1.3.2.1 Web管理平台的使用
          • 1.3.2.2 Cypher-shell的使用
            • 1.3.2.2.1 使用Cypher--shell
      • 1.4 持续更新

前言

  年前公司一直在讨论KNB的未来方向,一开始做好的KNB一期,利用了mysql5.7新特性能够勉强满足需求,但针对公司后期业务发展,对拓展性、稳定性、解耦性等要求的不断提高,年前技术内部讨论了一套方案,使用Neo4j图形数据库来实现KNB的架构需求。

  目前针对Neo4j的开发方式,我还不太了解,特此来记录Neo4j的学习过程,也特别感谢庞国明老师关于Neo4j的课程教授,让我学习到了很多。

1.1 图数据库介绍

  图数据库(Graph Database)是基于图论实现的一种新型NoSQL数据库。它的数据存储结构和数据的查询方式都是以图论为基础的。图论中图的基本元素为节点和边,在图数据库中对应的就是节点和关系。

  在图数据库中,数据与数据之间的关系通过节点和关系构成一个图结构并在此结构上实现数据库的所有特性,如对图数据对象进行创建、读取、更新、删除(Create、Read、Update、Delete,简称:CRUD)等操作的能力,还有处理事务的能力和高可用性等。

  目前市面上较为流行的图数据库产品有以下几种:

NEO4J实战之《阿丽塔战斗天使》_第1张图片

图数据库与关系数据库的对比

NEO4J实战之《阿丽塔战斗天使》_第2张图片
NEO4J实战之《阿丽塔战斗天使》_第3张图片
NEO4J实战之《阿丽塔战斗天使》_第4张图片
NEO4J实战之《阿丽塔战斗天使》_第5张图片

1.2 Neo4j介绍

NEO4J实战之《阿丽塔战斗天使》_第6张图片
  Neo4j是由Java和Scala实现的开源NoSQL图数据库。自2003年开始研发,直到2007年正式发布第一版。Neo4j的源代码托管在GitHub上,技术支持托管在Stack Overflow和Neo4j Google讨论组上。Neo4j现如今已经被各种行业的数十万家公司和组织采用。Neo4j的使用案例涵盖了包括网络管理、软件分析、科学研究、路由分析、组织和项目管理、决策制定、社交网络等。

  官方网站:https://neo4j.com

  官方文档:https://neo4j.com/docs/

  Github: https://github.com/neo4j/neo4j

  Example: https://github.com/neo4j-examples

  Neo4j具备的特性:

NEO4J实战之《阿丽塔战斗天使》_第7张图片

1.3 Neo4j安装与基本操控

1.3.1 Neo4j的安装部署

  由于Neo4j是基于Java虚拟机(Java Virtual Machine,JVM)的产品,所以在安装前,必须保证已经安装了Java 虚拟机。

1.3.1.1 Neo4j的版本分类

  可访问Neo4j官方网站:https://neo4j.com/,找到下载链接
(1)Neo4j 支持的操作系统

  • Windows
  • Mac
  • Linux

(2)Neo4j 按功能分版本

  • 社区版(免费)
  • 企业版(收费,适用30天)

(3)Neo4j 按安装方式分版本

  • Desktop版
  • Zip、tar 压缩包版
1.3.1.2 Windows系统下载与安装
  • Desktop版本
  • Zip压缩包版
  • 压缩包版启动

本文主要讲解下压缩包版启动:
  在命令行下,“以管理员身份运行” 命令提示符。导航到Neo4j的运行目录\bin下

NEO4J实战之《阿丽塔战斗天使》_第8张图片

  输入命令:neo4j,系统会返回关于neo4j 运行命令的相关指令,通过使用“neo4j <指令名>”的格式就可以运行相关操作了,其中的指令名包括:

  1. console:打开Neo4j的控制台。
  2. start:启动Neo4j。
  3. stop:关闭Neo4j。
  4. restart:重启Neo4j。
  5. status:查看Neo4j运行状态。
  6. install-service:安装Neo4j在Windows系统上的服务。
  7. uninstall-service:卸载Neo4j在Windows系统上的服务。

  首次安装Neo4j需要先运行 neo4j install-service命令将Neo4j服务安装在系统上,然后再运行:neo4j start命令启动Neo4j,如图2-17。

NEO4J实战之《阿丽塔战斗天使》_第9张图片
图1-1 安装Neo4j服务
NEO4J实战之《阿丽塔战斗天使》_第10张图片
图1-2 启动Neo4j
当然如果您想要卸载Neo4j,就运行:neo4j uninstall-service命令,这样Neo4j服务就卸载了。

  当然如果您想要卸载Neo4j,就运行:neo4j uninstall-service命令,这样Neo4j服务就卸载了。

1.3.1.3 CentOS系统安装Neo4j
  • Desktop安装
  • tar 压缩包版安装:
    解压运行/bin/neo4j.sh
  • Yum安装:
    对于CentOS系统安装Neo4j,需要手动安装Yum源。
cd /tmp
wget http://debian.neo4j.org/neotechnology.gpg.key
sudo rpm --import neotechnology.gpg.key

  其中cd /tmp 为导航到系统tmp目录下;然后使用wget命令将安装配置文件neotechnology.gpg.key下载到当前目录;再使用sudo rpm --import neotechnology.gpg.key命令将安装配置文件导入到系统中。
  接下来,文本编辑器创建一个/etc/yum.repos.d/neo4j.repo内容:

[neo4j] 
name=Neo4j Yum Repo 
baseurl=http://yum.neo4j.org 
enabled=1 
gpgcheck=1

  最后,我们就可以使用yum命令安装neo4j。

yum install neo4j

  至此在CentOS系统下Neo4j已安装完毕。下面是安装后Neo4j的文件路径:

  1. Neo4j安装目录为:/usr/share/neo4j
  2. Neo4j的属性文件所在目录为: /etc/neo4j
  3. Neo4j默认的数据库文件保存目录为: /var/lib/neo4j

  我们导航到/usr/share/neo4j/bin 运行目录下,运行:neo4j start命令就可以启动neo4j数据库了。

1.3.1.4 Ubuntu系统安装Neo4j
  • Desktop安装
  • tar压缩包版安装:
    解压运行/bin/neo4j.sh
  • apt-get 安装

  Ubuntu系统下安装Neo4j非常简单。
  安装neo4j社区版

sudo apt-get install neo4j

  安装neo4j 企业版

sudo apt-get install neo4j-enterprise

  Linux 系统无浏览器 初始化 neo4j 密码
  http://neo4j.com.cn/topic/5997c9899fe13f5e0a22128b
  neo4j 开启远程web访问7474端口
  http://neo4j.com.cn/topic/58e60893412d3d2c19c32de9

1.3.1.5 Mac系统安装Neo4j
  • Desktop 版安装
    Mac系统的dmg安装相对简单,只需要将dmg安装包拖入到名为“Applications”的应用程序文件夹下就可以了,如图所示。
NEO4J实战之《阿丽塔战斗天使》_第11张图片
图1-3 Mac系统安装Neo4j
  • tar压缩包版安装
    解压运行/bin/neo4j.sh

1.3.2 Neo4j管理平台的使用

1.3.2.1 Web管理平台的使用

  当Neo4j安装完成并用Web端重设密码后,就可以看到Neo4j的操作界面了,如图2-23。操作界面主要由三部分组成:命令输入区、结果显示区、状态工具栏。

NEO4J实战之《阿丽塔战斗天使》_第12张图片
图1-4 Neo4j Web控制台各功能区
1.3.2.2 Cypher-shell的使用

  某些版本的Linux操作系统不带有可视化的操作界面(如服务器版本的CentOS、Ubuntu等),在本地无法使用浏览器打开Neo4j Web管理平台。为此,Neo4j提供了一个可以在命令行状态下运行命令、返回结果的工具:neo4j-shell。

1.3.2.2.1 使用Cypher–shell

  在Cypher -shell命令提示符下直接输入Cypher命令(以;结束),然后按回车运行即可。
如我使用CREATE (n {name:“World”}) RETURN “hello”, n.name 创建一个节点,然后再用 match (n) return n 查询出来。

NEO4J实战之《阿丽塔战斗天使》_第13张图片

1.4 持续更新

想提升编码能力吗,扫码购买提升逼格!

欢迎加入Java猿社区!
免费领取我历年收集的所有学习资料哦!

NEO4J实战之《阿丽塔战斗天使》_第14张图片

你可能感兴趣的:(Neo4j,图形数据库)