简介

Neo4j 是全球领先的图数据库。其架构旨在优化节点和关系的管理、存储和遍历。图数据库采用属性图方法,这对于遍历性能和操作运行时都非常有利。Neo4j 提供专用的内存管理和内存高效的操作。

Neo4j 可扩展,可以作为独立服务器部署,也可以在生产环境中跨多台机器部署为容错集群。其他适用于生产应用程序的功能包括热备份和广泛的监控。

Neo4j 版本

Neo4j 自管理版本有两个版本可供选择,分别是社区版 (CE) 和企业版 (EE)。企业版包含社区版提供的所有功能,以及其他企业级要求,例如备份、集群和故障转移功能。

社区版

社区版是 Neo4j 的一个功能齐全的版本,适用于单实例部署。它完全支持 Neo4j 的关键功能,例如符合 ACID 的事务、Cypher 和编程 API。它非常适合学习 Neo4j、DIY 项目和小型工作组中的应用程序。

企业版

企业版扩展了社区版的功能,包括用于性能和可扩展性的关键功能,例如集群架构和在线备份功能。其他安全功能包括基于角色的访问控制和 LDAP 支持,例如 Active Directory。对于需要规模和可用性的生产系统来说,它是最佳选择,例如商业和关键内部解决方案。

下表比较了两个版本中可用的关键功能。

表 1. 社区版与企业版关键功能对比
功能 社区版 企业版

原生图

属性图模型

原生图处理和存储

标准和对齐存储格式 (340 亿个节点和关系) 标准在 5.23 中已弃用

高限制 (1 千万亿个节点和关系) 在 5.23 中已弃用

块格式 (新格式)

变更数据捕获 (CDC) 在 5.13 中引入 测试版

符合 ACID 的事务

Cypher 图查询语言

带槽 Cypher 运行时

管道化 Cypher 运行时(更快)

列出和终止正在运行的查询

高性能缓存

基于成本的查询优化器

客户端和 API

Cypher 客户端

带有语法高亮的 Neo4j 浏览器

Bolt 协议

C#、Go、Java、JavaScript 和 Python 的语言驱动程序 [1]

高性能原生 API

支持 Neo4j 图数据科学社区版 [1]

支持 Neo4j 图数据科学企业版 [1]

索引和约束

通过原生标签索引快速写入

复合索引

全文节点和关系索引

向量索引 在 Neo4j 5.13 中引入

属性唯一性约束

属性存在性约束

属性类型约束

节点和关系键约束

安全

基于角色的访问控制

子图访问控制

LDAP 和 Active Directory 集成

Kerberos 安全选项

数据管理

离线导入

离线增量导入

自动重用空间

存储副本

离线备份(转储)

规模和可用性

在线备份和还原

多个数据库(超出system和默认数据库)

自主集群

复合数据库

监控和管理

用于通过 Prometheus 监控的端点和指标

Neo4j 操作管理器

1. 必须单独下载和安装。

默认情况下,Neo4j 社区版和 Neo4j 企业版会报告少量匿名使用数据。这有助于 Neo4j 了解其产品的使用方法并进行改进。有关收集哪些数据的更多信息,请参见 匿名使用数据报告.

版本控制

Neo4j 使用语义版本控制 (语义版本控制规范 2.0.0)。给定一个版本号 MAJOR.MINOR.PATCH,增量基于

  • MAJOR 版本 - 相对于前一个 MAJOR 版本的不兼容 API 更改。

  • MINOR 版本 - 向后兼容的方式添加功能。

  • PATCH 版本 - 向后兼容的错误修复。

Neo4j 的完全托管云服务 Neo4j Aura 仅使用 MAJOR 版本控制。