简介
Neo4j 是全球领先的图数据库。其架构专为节点和关系的最优管理、存储和遍历而设计。该图数据库采用属性图(Property Graph)方法,这对遍历性能和操作运行时均有益处。Neo4j 提供专门的内存管理和内存高效型操作。
Neo4j 具有可扩展性,既可以作为独立服务器部署,也可以在生产环境中部署于多机容错集群中。针对生产应用的其他功能包括热备份和广泛的监控。
Neo4j 版本
自托管 Neo4j 有两个版本可供选择:社区版 (CE) 和企业版 (EE)。企业版包含社区版提供的所有功能,并增加了企业级需求,如备份、集群和故障转移能力。Infinigraph 是一种特殊的企业版,它还包括带有自动分片的无限水平扩展,以及通过许可证密钥启用的图数据科学 (Graph Data Science) 功能。
- 社区版 (CE)
-
社区版是 Neo4j 的全功能版本,适用于单实例部署。它全面支持 Neo4j 的关键功能,如符合 ACID 标准的事务、Cypher 和编程 API。它非常适合学习 Neo4j、DIY 项目以及小型工作组的应用。
- 企业版 (EE)
-
企业版在社区版的基础上扩展了功能,增加了性能和可扩展性的关键特性,例如集群架构和在线备份功能。其他安全功能包括基于角色的访问控制和 LDAP 支持(例如 Active Directory)。它是满足规模和可用性需求的生产系统(如商业解决方案和关键内部解决方案)的首选。
- Infinigraph
-
Infinigraph 是 Neo4j 的一种专业企业版,专为大规模高性能图处理和分析而设计。它包含企业版的所有功能,以及带有自动分片的无限水平扩展和图分析能力。需要单独订阅。
下表比较了两个版本中提供的关键功能
| 特性 | CE | EE | EE (含 Infinigraph) |
|---|---|---|---|
|
|||
原生图 |
|||
|
|
|
|
原生图处理与存储 |
|
|
|
标准 和 对齐 存储格式 (340 亿节点与关系) 标准格式在 5.23 版本中已弃用 |
|
|
|
High_limit (1 千万亿节点与关系) 5.23 版本中已弃用 |
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
客户端与 API |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
高性能原生 API |
|
|
|
APOC 450+ 核心过程与函数 |
|
|
|
支持 Neo4j 图数据科学社区版 [1] |
|
|
|
支持 Neo4j 图数据科学企业版 [2] |
|
|
|
支持 Neo4j Bloom |
|
|
|
通过 Neo4j GenAI 插件 实现生成式 AI 集成 |
|
|
|
索引和约束 |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
||
|
|
||
安全 |
|||
|
|
||
|
|||
|
|
||
|
|
||
|
|
||
数据管理 |
|||
|
|
|
|
|
|
||
|
|
|
|
|
|
||
离线备份 (dump) |
|
|
|
规模与可用性 |
|||
|
|
||
多数据库 (system 和默认数据库之外) |
|
|
|
|
|
||
|
|
||
分片属性数据库 2025.12 新增 |
|
||
|
|
||
|
|
||
1. 需单独下载并安装。
2. Infinigraph 包含用于 Neo4j 图数据科学的许可证密钥。 | |||
|
默认情况下,Neo4j 社区版和企业版会报告少量使用数据。这有助于 Neo4j 了解产品的使用方式并进行改进。有关所收集数据的更多信息,请参阅 使用数据报告。 |
Neo4j 服务器版本
2025.01.0 引入了新的日历版本编号 (CalVer) 以取代之前使用的语义版本编号 (SemVer)。新的版本格式为 YYYY.MM.Patch,基于发布的年份和月份,例如 2025.01.0、2025.02.0 等。补丁编号在同一个月内的每次发布都会增加。
部分版本将被指定为长期支持 (LTS) 版本。
Neo4j Aura 始终使用 Neo4j 服务器的最新版本。
Cypher® 版本引入于 2025.06
从 Neo4j 2025.06 起,Cypher 语言与 Neo4j 服务器解耦,并遵循其独立的版本控制。目前有两个版本的 Cypher 可用:Cypher 5 和 Cypher 25。您可以配置 DBMS 默认的 Cypher 版本,方法是在 neo4j.conf 文件中明确设置 db.query.default_language,也可以在通过 CREATE DATABASE 或 ALTER DATABASE 创建/修改数据库时针对特定数据库进行设置,或者在查询前加上 CYPHER 5 或 CYPHER 25 以覆盖默认设置。更多信息,请参阅 配置 Cypher 默认版本 和 Cypher 手册 → 选择 Cypher 版本。
- Cypher 5
-
Cypher 5 是所有为 Neo4j 2025.05 及更早版本编写的查询所兼容的语言版本。然而,从 Neo4j 2025.06 开始,它已冻结,在未来的服务器版本中仅会获得性能增强和漏洞修复。
将默认语言设置为CYPHER 5可确保在该数据库上运行的所有查询都使用 Neo4j 2025.06 版本发布时所存在的Cypher 5版本(除非您在查询前添加CYPHER 25,这将覆盖该默认设置)。2025.06 版本之后引入的任何更改都不会影响该查询的语义。
除非在 DBMS 级别明确设置了db.query.default_language=CYPHER_25,或者通过CREATE DATABASE/ALTER DATABASE覆盖,或者通过在查询前加CYPHER 25,否则 Cypher 5 仍然是所有新建数据库的默认版本。 - Cypher 25
-
Cypher 25 在 Cypher 5 的基础上构建,包含了新的和改进的功能,以及一些删除的内容。Neo4j 2025.06 或更高版本中引入的任何新的 Cypher 功能仅添加到 Cypher 25 中。将默认语言设置为
CYPHER 25可确保在该数据库上运行的所有查询都使用该数据库当前运行的Cypher 25版本(除非您在查询前添加CYPHER 5,这将覆盖该默认设置)。例如,默认语言为Cypher 25的 Neo4j 2025.10 数据库将使用 Neo4j 2025.10 中存在的Cypher 25,包括在 2025.06、2025.07、2025.08 和 2025.09 中引入的任何更改。从 Neo4j 2026.02 开始,分发的 neo4j.conf 明确设置了
db.query.default_language=CYPHER_25。因此,使用所提供配置文件的新部署,其新建数据库默认使用 Cypher 25。Cypher 版本仍然可以在CREATE DATABASE命令中明确指定,或随时使用ALTER DATABASE更改。如果您希望将 Cypher 5 作为新数据库的默认版本,可以删除或注释掉该配置项,这等同于设置
db.query.default_language=CYPHER_5。现有数据库将保留其现有的默认语言。