系统需求

Neo4j 可以安装在许多环境中,并且适用于不同的范围,因此系统需求在很大程度上取决于软件的使用方式。本节区分了个人/开发安装和用于生产工作负载的基于服务器的安装。

Neo4j AuraDB 是一个完全托管的 Neo4j 数据库,托管在云中,无需安装。有关更多信息,请参阅AuraDB 产品页面AuraDB 文档

支持的平台

Neo4j 在具有 x86_64 和 ARM 架构的物理、虚拟或容器化平台上的系统中受支持。

硬件需求

在最低硬件需求方面,请遵循以下指南

表 1. 硬件需求指南

CPU

对于大型图,性能通常受内存或 I/O 限制,对于适合内存的图,性能受计算限制。

内存

更多的内存允许更大的图,但需要正确配置以避免破坏性的垃圾回收操作。

存储

除了容量外,选择存储时磁盘的性能特征是最重要的

  • Neo4j 工作负载倾向于大量随机读取。

  • 选择平均寻道时间短的介质:SSD 比旋转磁盘更好。

个人使用和软件开发

表 2. 个人使用和软件开发的硬件需求指南

CPU

英特尔 x86-x64 酷睿 i3 最低配置,酷睿 i7 推荐。AMD x86-x64,Mac ARM。

内存

最低 2GB,推荐 16GB 或更多。

存储

10GB SATA 最低配置,推荐使用 SATA Express 或 NVMe 的 SSD。

适用于云环境

表 3. 云环境的硬件需求指南

CPU

最低 2 个 vCPU,推荐 16 个或更多。

内存

最低 2GB。实际需求取决于工作负载。在某些情况下,建议使用内存大小与正在使用的图形大小相匹配的实例。

存储

最低 10GB 块存储,推荐附加 NVMe SSD。存储大小取决于数据库的大小。

适用于基于服务器的本地环境

表 4. 基于服务器的本地环境的硬件需求指南

CPU

英特尔/AMD x86-x64。ARM64。

内存

最低 8GB。实际需求取决于工作负载。在某些情况下,建议使用内存大小与正在使用的图形大小相匹配的实例。

存储

RAID/SAN 或 IOPS 大于 5000 的 SSD。推荐使用 NVMe SSD。存储大小取决于数据库的大小。

更多信息,请参阅 性能,更具体地说是 内存配置垃圾回收器调优,以及 磁盘、RAM 及其他技巧

软件需求

个人使用和软件开发

表 5. 个人使用和软件开发的软件需求
操作系统 支持的 JDK

Debian 11、12

OpenJDK 17、OracleJDK 17 和 ZuluJDK 17

MacOS 11、12

OpenJDK 17、ZuluJDK 17

SuSE Enterprise Desktop 15

OpenJDK 17、OracleJDK 17

Ubuntu Desktop 22.04+

OpenJDK 17、OracleJDK 17 和 ZuluJDK 17

Windows 10、11

OracleJDK 17、ZuluJDK 17

适用于云环境和基于服务器的本地环境

表 6. 云环境和基于服务器的本地环境的软件需求
操作系统 支持的 JDK

Amazon Linux 2022 AMI、Amazon Linux 2023 AMI

Amazon Corretto 17 和 OracleJDK 17

CentOS Stream 8、9

OpenJDK 17、OracleJDK 17 和 ZuluJDK 17

Debian 11、12

OpenJDK 17、OracleJDK 17 和 ZuluJDK 17

Red Hat Enterprise Linux Server 8.6、8.8、9.0、9.2

Red Hat OpenJDK 17、Oracle JDK 17 和 ZuluJDK 17

Ubuntu Server 16.04、18.04、20.04、22.04

OpenJDK 17、OracleJDK 17 和 ZuluJDK 17

Windows Server 2016、2019、2022

OracleJDK 17、ZuluJDK 17

从 5.14 版本开始,Neo4j 还支持所有操作系统的 JDK 21。

有关 Red Hat Enterprise Linux 生命周期,请参阅其官方文档

文件系统

为了获得正确的 ACID 行为,文件系统必须支持刷新(fsyncfdatasync)。由于数据库可能长时间对存储系统施加高而一致的负载,因此建议使用具有良好老化特性的文件系统。EXT4 和 XFS 文件系统都受支持。有关如何在 Linux 中配置文件系统以获得最佳性能的详细信息,请参阅 Linux 文件系统调优

如果 tmp 设置为 noexec,建议在 conf/neo4j.conf 中设置 server.jvm.additional=-Djava.io.tmpdir=/home/neo4j 并将 /home/neo4j 替换为具有 exec 权限的路径。

对于 /bin/cypher-shell,通过环境变量设置:export JAVA_OPTS=-Djava.io.tmpdir=/home/neo4j 并将 /home/neo4j 替换为具有 exec 权限的路径。

对于 Neo4j 使用的 Java 本地访问 (JNA) 库,在 conf/neo4j.conf 中设置 server.jvm.additional=-Djna.tmpdir=/tmp 并将 /tmp 替换为具有 exec 权限的路径。

Java

需要预安装兼容的 Java 虚拟机 (JVM) 才能运行 Neo4j 实例。最低要求是 Java 运行时环境 (JRE)。

表 7. Neo4j 版本和 JVM 需求
Neo4j 版本 JVM 兼容性

3.x

Java SE 8 平台规范

4.x

Java SE 11 平台规范

5.x

Java SE 17 平台规范

5.14

Java SE 17 和 Java SE 21 平台规范

Neo4j Desktop 可供开发者和个人用户使用。Neo4j Desktop 自带 JVM。有关如何使用 Neo4j Desktop 及其功能的更多信息,请参阅 Neo4j Desktop 文档