简介
Neo4j 是全球领先的图数据库。其架构旨在优化节点和关系的管理、存储和遍历。图数据库采用属性图方法,这对于遍历性能和操作运行时都非常有利。Neo4j 提供专用的内存管理和内存高效的操作。
Neo4j 可扩展,可以作为独立服务器部署,也可以在生产环境中跨多台机器部署为容错集群。其他适用于生产应用程序的功能包括热备份和广泛的监控。
Neo4j 版本
Neo4j 自管理版本有两个版本可供选择,分别是社区版 (CE) 和企业版 (EE)。企业版包含社区版提供的所有功能,以及其他企业级要求,例如备份、集群和故障转移功能。
- 社区版
-
社区版是 Neo4j 的一个功能齐全的版本,适用于单实例部署。它完全支持 Neo4j 的关键功能,例如符合 ACID 的事务、Cypher 和编程 API。它非常适合学习 Neo4j、DIY 项目和小型工作组中的应用程序。
- 企业版
-
企业版扩展了社区版的功能,包括用于性能和可扩展性的关键功能,例如集群架构和在线备份功能。其他安全功能包括基于角色的访问控制和 LDAP 支持,例如 Active Directory。对于需要规模和可用性的生产系统来说,它是最佳选择,例如商业和关键内部解决方案。
下表比较了两个版本中可用的关键功能。
功能 | 社区版 | 企业版 |
---|---|---|
原生图 |
||
属性图模型 |
||
原生图处理和存储 |
||
标准和对齐存储格式 (340 亿个节点和关系) 标准在 5.23 中已弃用 |
||
高限制 (1 千万亿个节点和关系) 在 5.23 中已弃用 |
||
块格式 (新格式) |
||
变更数据捕获 (CDC) 在 5.13 中引入 测试版 |
||
符合 ACID 的事务 |
||
Cypher 图查询语言 |
||
带槽 Cypher 运行时 |
||
管道化 Cypher 运行时(更快) |
||
列出和终止正在运行的查询 |
||
高性能缓存 |
||
基于成本的查询优化器 |
||
客户端和 API |
||
Cypher 客户端 |
||
带有语法高亮的 Neo4j 浏览器 |
||
Bolt 协议 |
||
C#、Go、Java、JavaScript 和 Python 的语言驱动程序 [1] |
||
高性能原生 API |
||
APOC 450+ 核心过程和函数 |
||
支持 Neo4j 图数据科学社区版 [1] |
||
支持 Neo4j 图数据科学企业版 [1] |
||
索引和约束 |
||
通过原生标签索引快速写入 |
||
复合索引 |
||
全文节点和关系索引 |
||
向量索引 在 Neo4j 5.13 中引入 |
||
属性唯一性约束 |
||
属性存在性约束 |
||
属性类型约束 |
||
节点和关系键约束 |
||
安全 |
||
基于角色的访问控制 |
||
子图访问控制 |
||
LDAP 和 Active Directory 集成 |
||
Kerberos 安全选项 |
||
数据管理 |
||
离线导入 |
||
离线增量导入 |
||
自动重用空间 |
||
存储副本 |
||
离线备份(转储) |
||
规模和可用性 |
||
在线备份和还原 |
||
多个数据库(超出 |
||
自主集群 |
||
复合数据库 |
||
监控和管理 |
||
用于通过 Prometheus 监控的端点和指标 |
||
Neo4j 操作管理器 |
||
1. 必须单独下载和安装。 |
默认情况下,Neo4j 社区版和 Neo4j 企业版会报告少量匿名使用数据。这有助于 Neo4j 了解其产品的使用方法并进行改进。有关收集哪些数据的更多信息,请参见 匿名使用数据报告. |
版本控制
Neo4j 使用语义版本控制 (语义版本控制规范 2.0.0)。给定一个版本号 MAJOR.MINOR.PATCH
,增量基于
-
MAJOR
版本 - 相对于前一个MAJOR
版本的不兼容 API 更改。 -
MINOR
版本 - 向后兼容的方式添加功能。 -
PATCH
版本 - 向后兼容的错误修复。
Neo4j 的完全托管云服务 Neo4j Aura 仅使用 MAJOR
版本控制。