什么是 Neo4j?
Neo4j 是一款原生图数据库,这意味着它从存储层到底层逻辑,全程实现了真正的图模型。Neo4j 并非在其他技术之上构建 “图抽象层”,而是采用与你在白板上绘制思路完全一致的方式来存储数据。
自 2007 年以来,Neo4j 已发展成为包含丰富工具、应用程序和库的生态系统。该生态系统支持你通过多种方式将图技术集成到现有工作环境中,本文将对此进行说明。
除核心图存储外,Neo4j 还提供ACID 事务、集群支持与运行时故障转移能力。
Neo4j 基于 Java 和 Scala 开发,你可以在 GitHub 上查看其源代码。
如何与 Neo4j 交互
Neo4j 使用Cypher®—— 一种类 SQL 的声明式查询语言,但专为图结构优化。该语言也通过 openCypher® 项目被 SAP HANA Graph 等其他数据库采用。
另一种方式是使用驱动库。Neo4j 目前支持 Java、JavaScript、.NET、Python、Go、GraphQL、Spring 等多种语言与框架。
创建 Neo4j 实例
部署数据库是探索 Neo4j 的第一步。
你可以从以下方案中选择适合项目的部署方式:
全托管云服务
Neo4j AuraDB 是全托管云服务,支持你直接通过浏览器开始使用 Neo4j。
如果你是数据科学家,还可以了解 Neo4j AuraDS,获取超过 65 种预调优的图算法。
Neo4j Aura 提供免费版与订阅版,可查看完整版本对比。
自托管云服务
你也可以在自选云平台上部署图数据库。Neo4j 支持亚马逊云服务(AWS)、谷歌云(GCP)与微软 Azure。
对于自托管云服务,若项目非生产环境,你需要本地安装 Neo4j 或使用 Neo4j Desktop。
Neo4j 支持在 Linux、macOS 和 Windows 系统上安装。
自托管本地部署
若偏好本地部署:非生产环境可安装 Neo4j Desktop,或直接本地安装 Neo4j。
Docker 上的 Neo4j
Neo4j 可运行于 Docker 容器中。官方提供的 Neo4j 镜像可从 DockerHub 下载,包含社区版与企业版的多个标准版本,开箱即用,支持 macOS、Windows 与 Linux。
Kubernetes 上的 Neo4j
借助 Neo4j Helm 图表,你可在 Kubernetes 上部署 Neo4j 单机实例或集群,并使用适用于大多数常见场景的配置选项。
上一条:线性规划求解器gurobi
下一条:Docker部署Neo4j图数据库