一、 简介
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
二、 优缺点
1、社区版免费开源,但是企业级项目实用性不强,嵌入式模式相对于远程连接模式效率较高,但仅支持java和基于jvm的语言,社区版不能使用集群。
2、企业版闭源且费用昂贵,集群也只是HA高可用,不能进行分布式存储,想要提高性能和容量只能加大机器的硬盘、使用更高的内存和SSD,硬件最终会达到瓶颈。
3、图数据结构导致写入性能差,实时性读写跟不上,大数据量导入麻烦,官方提供的load csv模式性能也不够理想,neo4j-import倒是不错,但是只能用于数据库初始化局限太大。
4、社区不强大,资料不丰富,碰到问题需要慢慢爬坑。
三、 安装
Windows版本:

  1. 从Neo4j网站下载最新的Neo4j Server安装文件: http://www.neo4j.org/download
  2. exe文件安装Neo4j服务器
  3. 启动服务器
  4. 使用neo4j browser访问。
  5. 在上方文本框输入CQL语句进行操作。

Linux版本:

  1. liunx环境Neo4j下载地址:https://neo4j.com/download/other-releases/#releases(社区版免费)
  2. 解压安装
    tar -axvf neo4j-community-3.4.5-unix.tar.gz
  3. 修改配置
    在安装目录下找到conf目录下的neo4j.conf文件
    #去掉改行的#,可以远程通过ip访问neo4j数据库
    dbms.connectors.default_listen_address=0.0.0.0

默认 bolt端口是7687,http端口是7474,https关口是7473

#去掉#,设置http端口为7687
#dbms.connector.bolt.listen_address=:7687
#去掉#,允许从远程url来load csv
dbms.security.allow_csv_import_from_file_urls=true
4. 进入bin目录执行。启动:./neo4j start 停止:./neo4j stop 状态:./neo4j status
5. 客户端访问
http://ip:7474/browser/ 四、 使用
Neo4j使用CQL语句进行操作。功能较多,不一一阐述,可访问w3cschoolhttps://www.w3cschool.cn/neo4j/或者其他网站进行学习。

五、 与springboot集成

  1. pom依赖
    此处采用的是springboot 2.1.4

    org.springframework.boot
    spring-boot-starter-data-neo4j


    org.neo4j
    neo4j-ogm-http-driver
  2. 实体类
  3. Neo4jRepository
  4. 配置文件
  5. 测试类
  6. 查看结果

六、 其他网络资料
导入数据测试图。

社区版和企业版对比