Neo4j图数据库Docker部署至服务器
文章目录
- Neo4j图数据库Docker部署至服务器
- 1. Neo4j介绍
- 2. 拉取Docker镜像
- 3. 创建容器并运行
- 4. 导入数据(可选)
- 5. 访问测试
1. Neo4j介绍
Neo4j 是一种基于图数据库管理系统,它专门用于存储和查询图数据结构。与传统的关系型数据库不同,Neo4j 更加擅长处理复杂的关系和连接,因为它直接以图的形式存储数据,直接对实体和它们之间的关系处理。
Neo4j 使用图形模型来存储数据,其中节点代表实体(如人、地点、物品等),关系代表节点之间的连接或关联(如朋友关系、所属关系等)。
图的结构非常适合表示复杂的关系和数据连接,比如社交网络、推荐系统、知识图谱等。
Neo4j 提供了一种强大的声明性查询语言,称为 Cypher。Cypher 类似于 SQL,但专为图形数据库设计,更加直观地表达图形数据查询。
例如,查找与某个节点直接相连的所有节点可以用一句简单的 Cypher 语句表示:
MATCH (n {name: 'Alice'})--(m) RETURN m;
Neo4j 支持实时图分析,使得用户可以快速获取数据之间的复杂关系和模式。这在欺诈检测、供应链优化、社交网络分析等领域非常有用。
Neo4j 提供了一个免费的社区版,同时也有企业版提供高级功能。由于其开源性质,Neo4j 拥有一个活跃的开发者社区,提供丰富的文档和支持资源。
2. 拉取Docker镜像
- 部署环境:腾讯云轻量级服务器Ubuntu20.04
- Neo4j版本:neo4j-community-3.5.22
docker pull neo4j:3.5.22-community
3. 创建容器并运行
运行以下命令。这条命令的作用是在 Docker 中运行一个指定版本的 Neo4j 容器,该容器:
- 在后台运行。
- 映射了宿主机的 7474 和 7687 端口以供访问。
- 使用指定的用户名和密码进行身份验证。
- 将宿主机上的特定目录挂载到容器中的数据、日志、配置和导入目录,以便持久化数据和方便配置管理。
sudo docker run -d -p 7474:7474 -p 7687:7687 --name neo4j -e "NEO4J_AUTH=neo4j/123456" -v /usr/local/soft/neo4j/data:/mydata/data -v /usr/local/soft/neo4j/logs:/mydata/logs -v /usr/local/soft/neo4j/conf:/var/lib/neo4j/conf -v /usr/local/soft/neo4j/import:/var/lib/neo4j/import neo4j:3.5.22-community
如需进入Docker容器命令行环境,执行以下命令:
docker exec -it neo4j /bin/bash
4. 导入数据(可选)
- 这一步是可选的.我手里拿到了之前吴博服务器上的数据备份,因此要先导入到数据库中。
在Neo4j3.x的文档中写到:
Community Edition is a fully functional edition of Neo4j, suitable for single instance deployments. It has full support for key Neo4j features, such as ACID compliance, Cypher, and programming APIs. It is ideal for learning Neo4j, for do-it-yourself projects, and for applications in small workgroups.
因此在Neo4j3.x中只有一个数据库实例。
该数据库的数据存储在/var/lib/neo4j/data/databases
路径下,因此只要将备份的文件夹复制进去即可。
sudo docker cp data2/databases neo4j:/var/lib/neo4j/data/
5. 访问测试
浏览器访问http://<ip>:7474
,并使用创建容器时指定的用户名和密码登录。