一、 简介
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
二、 优缺点
1、社区版免费开源,但是企业级项目实用性不强,嵌入式模式相对于远程连接模式效率较高,但仅支持java和基于jvm的语言,社区版不能使用集群。
2、企业版闭源且费用昂贵,集群也只是HA高可用,不能进行分布式存储,想要提高性能和容量只能加大机器的硬盘、使用更高的内存和SSD,硬件最终会达到瓶颈。
3、图数据结构导致写入性能差,实时性读写跟不上,大数据量导入麻烦,官方提供的load csv模式性能也不够理想,neo4j-import倒是不错,但是只能用于数据库初始化局限太大。
4、社区不强大,资料不丰富,碰到问题需要慢慢爬坑。
三、 安装
Windows版本:
- 从Neo4j网站下载最新的Neo4j Server安装文件: http://www.neo4j.org/download
- exe文件安装Neo4j服务器
- 启动服务器
- 使用neo4j browser访问。
- 在上方文本框输入CQL语句进行操作。
Linux版本:
- liunx环境Neo4j下载地址:https://neo4j.com/download/other-releases/#releases(社区版免费)
- 解压安装
tar -axvf neo4j-community-3.4.5-unix.tar.gz - 修改配置
在安装目录下找到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集成
- pom依赖
此处采用的是springboot 2.1.4
org.springframework.boot spring-boot-starter-data-neo4j org.neo4j neo4j-ogm-http-driver
- 实体类
- Neo4jRepository
- 配置文件
- 测试类
- 查看结果
六、 其他网络资料
导入数据测试图。
社区版和企业版对比