NebulaGraph 3.8 介绍与选型指南
NebulaGraph 3.8 介绍与选型指南:基于官方公开资料溯源(查询日期 2026-10-19,未做本地安装实测),梳理分布式图数据库 NebulaGraph 的 graphd/metad/storaged 三服务架构、nGQL 查询与水平扩展能力、快速上手与限制,最新稳定版 v3.8.0(2024-05-17)且发版节奏放缓;给出与 Neo4j、JanusGraph、Apache HugeGraph、ArangoDB 的量化选型对比。
NebulaGraph 3.8 介绍与选型指南
一、信息基准
1.1 查询说明
- 查询日期:2026-10-19。
- 信息获取方式:纯官方资料溯源(nebula-graph.io 官方站点、官方文档 docs.nebula-graph.io、GitHub 官方仓库 vesoft-inc/nebula 的 Release 页),本文不做本地安装与运行实测。
- 版本结论:本次介绍的版本为 NebulaGraph 3.8(最新稳定 v3.8.0,2024-05-17 发布);截至查询日,GitHub Release 线在 3.8.0 之后无更新的稳定版,仓库仍有代码提交(最近 push 2026-09-08),发版节奏明显放缓——该事实直接影响选型,本文如实呈现。
1.2 版本依据
| 项目 | 实查结果(2026-10-19) | 来源 |
|---|---|---|
| 最新稳定版 | v3.8.0(2024-05-17) | github.com/vesoft-inc/nebula/releases |
| 3.8.0 后新 release | 无(Release 线停在 3.8.0) | GitHub Releases 页实查 |
| 仓库活跃度 | 最近 push 2026-09-08 | GitHub 仓库页实查 |
| GitHub stars | 12438 | GitHub 仓库页实查 |
| 开源许可 | Apache License 2.0 | 仓库 LICENSE |
| 代码仓库 | vesoft-inc/nebula(C++ 实现) | github.com |
| 官方站点 | https://nebula-graph.io/ | 仓库引导 |
1.3 官方来源清单
| 来源 | 地址 |
|---|---|
| 官方站点 | https://nebula-graph.io/ |
| 官方文档 | https://docs.nebula-graph.io/ |
| 源码仓库 | https://github.com/vesoft-inc/nebula |
| v3.8.0 发行页 | https://github.com/vesoft-inc/nebula/releases/tag/v3.8.0 |
二、软件概述
本文介绍的是 NebulaGraph 3.8(最新稳定 v3.8.0,2024-05-17 发布)。
NebulaGraph 是一款开源的分布式图数据库,官方定位为「distributed, fast open-source graph database featuring horizontal scalability」:面向包含千亿级点边的大规模图数据场景,采用 shared-nothing 分布式架构与属性图模型,通过分区与多副本实现水平扩展与容错。它由 vesoft-inc(悦数)主导开发,社区版以 Apache License 2.0 发布,同时提供商业企业版。
NebulaGraph 在 GitHub 上拥有 12438 stars(2026-10-19 实查,vesoft-inc/nebula)。需要如实指出的是:自 3.8.0(2024-05)之后 Release 线未再发布新的稳定版本,仓库虽有代码提交(最近 push 2026-09-08),但公开发版节奏已明显放缓,选型时应将其稳定性预期与升级路径纳入评估。
三、核心架构
3.1 三服务分工
| 服务 | 职责 | 默认端口 |
|---|---|---|
| nebula-graphd | 查询引擎:解析 nGQL、生成执行计划并调度 | 9669 |
| nebula-metad | 元数据中心:图空间/Schema/用户与分片路由信息,Raft 集群 | 9559 |
| nebula-storaged | 存储引擎:基于 RocksDB 的图数据存储,Raft 多副本 | 9779 |
3.2 数据模型与分片
属性图模型:图空间(Space)内定义 Tag(点类型)、Edge Type(边类型)与 Rank(同两点同类型边的区分);数据按点 ID 哈希切分为 partition 分布到 storaged,边随点存放以保证本地性;每个 partition 以 Raft 组维护副本(官方架构文档)。
3.3 查询语言
服务端查询语言为 nGQL(类 SQL 的图查询语言);官方文档说明其兼容 openCypher 的部分语法(如 MATCH/WHERE 等 DML 子集),可降低 Cypher 用户的迁移成本。
四、功能特性
4.1 水平扩展
通过向集群添加 storaged 节点并执行负载均衡(BALANCE)完成在线扩缩容,官方以此为核心卖点之一(官网/架构文档)。
4.2 图管理能力
支持图空间级 Schema 管理(CREATE SPACE/Tag/Edge)、索引与统计(SUBMIT JOB STATS)、TTL 生命周期管理、批量导入(官方 Importer)以及 Go/C++/Java/Python 等官方 SDK(官方文档)。
4.3 高可用
metad 与 storaged 均基于 Raft 协议维护多副本,节点故障时自动选主恢复(官方架构文档)。
4.4 版本状态(如实)
3.8 为 3.x 线当前最新稳定版(2024-05-17),此后无新 release;仓库持续有提交但未发布新版本,发版节奏放缓(GitHub 实查)。企业版能力与迭代节奏以 vesoft 官方渠道为准。
五、快速上手
以下步骤转述自官方文档(docs.nebula-graph.io 快速开始/Compose 部署篇),本文不做本地实测。
5.1 获取与启动
官方推荐以 Docker Compose 一键拉起三服务多副本(metad×3 + storaged×3 + graphd),核心镜像为 vesoft/nebula-metad、vesoft/nebula-storaged、vesoft/nebula-graphd(官方 Compose 文件见 nebula-docker-compose 仓库)。
5.2 建图与查询(官方 Quickstart 语句风格)
使用官方 console 或任意客户端连接 graphd(9669)后:
ADD HOSTS "storaged0":9779,"storaged1":9779,"storaged2":9779;
CREATE SPACE demo(partition_num=10, replica_factor=1);
USE demo;
CREATE TAG person(name string);
CREATE EDGE follow(likeness double);
INSERT VERTEX person(name) VALUES "a":("Alice");
INSERT EDGE follow(likeness) VALUES "a"->"b":(0.9);
GO FROM "a" OVER follow YIELD dst(edge);
5.3 验证
SHOW SPACES; 与 SHOW HOSTS; 可确认图空间与存储节点注册状态;完整步骤见官方文档:https://docs.nebula-graph.io/ 。站内已有《NebulaGraph 3.8 集群多副本部署指南》《NebulaGraph 3.8 配置参数详解》等实测篇可对照参考。
六、适用场景与限制
6.1 适用场景
- 超大规模图数据(数亿至千亿点边)的在线查询:社交网络、风控反欺诈、知识图谱。
- 需要水平扩展与多副本容错的图负载。
- 愿意运维三服务分布式集群、对原生分布式图有明确诉求的团队。
6.2 限制与注意事项
- 发版节奏放缓是首要风险:最新稳定版停留在 2024-05 的 3.8.0(GitHub 实查),升级与缺陷修复预期需自行评估。
- 三服务(graphd/metad/storaged)架构运维复杂度高于单机图数据库,需投入专职运维。
- nGQL 与 openCypher 仅部分兼容,Cypher 生态工具链迁移有成本。
- 社区版与企业版存在功能与支持差异,商业诉求需另行对接 vesoft 官方。
七、同类选型对比
7.1 候选概览
| 产品 | 定位 | 开源许可 |
|---|---|---|
| NebulaGraph 3.8 | 原生分布式图数据库(shared-nothing) | Apache-2.0 |
| Neo4j | 原生属性图数据库(单机强、云服务成熟) | GPL-3.0(社区版) |
| JanusGraph | 分布式图库,复用 HBase/Cassandra 等后端 | Apache-2.0 |
| Apache HugeGraph | ASF 图数据库,支持百亿级数据 | Apache-2.0 |
| ArangoDB | 多模型数据库(文档/图/KV 一体) | BSL-1.1 |
7.2 量化对比(2026-10-19 实查)
| 维度 | NebulaGraph 3.8 | Neo4j 2026.09 | JanusGraph 1.1 | Apache HugeGraph 1.7 | ArangoDB 3.13 |
|---|---|---|---|---|---|
| 开源许可 | Apache-2.0 | GPL-3.0(社区版) | Apache-2.0 | Apache-2.0 | BSL-1.1 |
| GitHub stars | 12438 | 17337 | 5858 | 3193 | 14284 |
| 最近发版 | v3.8.0(2024-05-17) | 2026.09.0(2026-09-21) | v1.1.0(2024-11-09) | 1.7.0(2025-11-16) | v3.13.2(2026-10-09) |
| 版本节奏 | 3.8 后无新 release,节奏放缓 | 日历版本月度迭代 + LTS | 维护性发版 | ASF 年度级发版 | 季度级 minor + 补丁 |
| 技术栈 | C++ | Java | Java | Java(1.x) | C++ |
| 查询语言 | nGQL(部分兼容 openCypher) | Cypher(生态最厚) | Gremlin(TinkerPop) | Gremlin/Cypher 兼容层 | AQL(多模型) |
| 扩展形态 | 原生分布式,Raft 多副本 | 社区版单机,企业版/Aura 集群 | 依赖外部存储后端分布式 | 支持分布式部署 | 集群模式(注意 BSL 授权) |
(stars、发版时间与许可取自各项目 GitHub Releases/仓库页实查;Neo4j 版本取自 neo4j.com/release-notes;ArangoDB/Memgraph 类 BSL 许可以各自仓库 LICENSE 实查为准。)
7.3 选型建议
图规模巨大、需要原生水平扩展且团队具备分布式运维能力,NebulaGraph 仍是国内可见度较高的选择,但必须把「3.8 后无新稳定版」写入风险评估;更看重查询语言生态、工具链成熟度与商业支持,Neo4j 是默认答案(社区版单机的边界要清楚);已有 HBase/Cassandra 基础设施、倾向 TinkerPop/Gremlin 生态,选 JanusGraph;偏好 ASF 治理与中文社区文档,评估 Apache HugeGraph;想要文档 + 图多模型一体的自托管方案可看 ArangoDB,注意其已转为 BSL-1.1 许可。站内深度阅读:《Apache HugeGraph 1.7.0 介绍与选型指南》、《ArangoDB 3.12.12.1 介绍与选型指南》、《JanusGraph 配置参数详解》。
八、参考链接
- 官方站点:https://nebula-graph.io/
- 官方文档:https://docs.nebula-graph.io/
- 源码仓库:https://github.com/vesoft-inc/nebula
- v3.8.0 发行页:https://github.com/vesoft-inc/nebula/releases/tag/v3.8.0
- Neo4j 仓库:https://github.com/neo4j/neo4j
- JanusGraph 仓库:https://github.com/JanusGraph/janusgraph
- Apache HugeGraph 仓库:https://github.com/apache/hugegraph
- ArangoDB 仓库:https://github.com/arangodb/arangodb
- 站内相关文档:《Apache HugeGraph 1.7.0 介绍与选型指南》、《ArangoDB 3.12.12.1 介绍与选型指南》