JanusGraph 1.1 介绍与选型指南

JanusGraph 1.1 介绍与选型指南:官方资料溯源的存储与索引后端分离架构、TinkerPop/Gremlin 生态、1.1.0 兼容矩阵、快速上手与适用限制,以及与 Neo4j、NebulaGraph、HugeGraph、ArangoDB 的量化选型对比。

JanusGraph图数据库JanusGraph2026/10/19

JanusGraph 1.1 介绍与选型指南

一、信息基准

1.1 查询说明

  • 查询日期:2026-10-19。
  • 信息获取方式:纯官方资料溯源(janusgraph.org 官方站点、docs.janusgraph.org 官方文档、GitHub 官方仓库 JanusGraph/janusgraph 发行页),本文不做本地安装与运行实测。
  • 版本结论:本次介绍的版本为 JanusGraph 1.1 系列,最新稳定版 1.1.0(2024-11-07 发布)。这是 2026-10-19 实查的 GitHub Releases 页面最顶部(最新)稳定发行版,1.x 线此前还有 1.0.0(2023-10-21)与 1.0.1(2024-11-06)。

1.2 版本依据

项目实查结果(2026-10-19)来源
最新稳定版1.1.0(2024-11-07)github.com/JanusGraph/janusgraph/releases
1.x 线时间线1.0.0(2023-10-21)→ 1.0.1(2024-11-06)→ 1.1.0(2024-11-07)github.com/JanusGraph/janusgraph/releases
上一稳定线0.6.2(2022-05-31)github.com/JanusGraph/janusgraph/releases
代码仓库JanusGraph/janusgraphgithub.com/JanusGraph/janusgraph
开源许可Apache License 2.0(项目由 Linux Foundation 托管商标)官方仓库/文档声明
1.1.0 实测兼容矩阵Cassandra 3.11.10 / 4.0.6,HBase 2.6.0,BerkeleyJE 7.5.11,ScyllaDB 6.2.0,Elasticsearch 6.0.1 / 6.6.0 / 7.17.8 / 8.15.3,Lucene 8.11.1,Solr 8.11.1,TinkerPop 3.7.3,Java 8 / 111.1.0 发行说明
预打包发行版内置Cassandra 4.0.6、Elasticsearch 7.17.81.1.0 发行说明

1.3 官方来源清单

来源地址
官方站点https://janusgraph.org/
官方文档https://docs.janusgraph.org/
入门(Basic Usage)https://docs.janusgraph.org/getting-started/basic-usage/
源码仓库https://github.com/JanusGraph/janusgraph
1.1.0 发行说明https://github.com/JanusGraph/janusgraph/releases/tag/v1.1.0

二、软件概述

本文介绍的是 JanusGraph 1.1(最新稳定版 1.1.0,2024-11-07 发布)。

JanusGraph 是一个高度可扩展的分布式图数据库,官方定位为「针对存储与查询包含数千亿顶点和边、分布于多机集群上的大图而优化」,支持事务、支持数千并发用户的实时访问,并以 Apache 2.0 许可完全开源(官方站点)。项目源自 Thinkaurelius 的 Titan 图数据库分支,现由 Linux Foundation 托管,是 TinkerPop 生态中最具代表性的开源图数据库实现。

其最核心的架构特征是「三段解耦」:存储后端、索引后端、查询引擎彼此独立。JanusGraph 自身不管理磁盘数据,而是把图数据落在 Cassandra/HBase 等分布式存储上,把索引检索交给 Elasticsearch/Solr/Lucene,自己专注于图语义(属性图模型、遍历、事务)的翻译与执行——这使它可以用「已有大数据平台 + 一层图语义」的方式低成本接入,而不必像多数图数据库那样自带整套装载与存储体系。

按 2026-10-19 的社区口径,JanusGraph 仓库(JanusGraph/janusgraph)的星标规模约 5.8k(第三方聚合数据,2026-10-19 查询),属于「社区规模中等、但工程深度与生产部署案例扎实」的类型。

三、核心架构

3.1 三段解耦

层组件说明
查询层Gremlin Server / 嵌入式 API对外提供 Gremlin 遍历语言访问(WebSocket/HTTP),默认端口 8182
语义层janusgraph-core属性图模型、事务管理、遍历翻译、序列化
存储层Cassandra / HBase / ScyllaDB / BerkeleyJE 等图数据(顶点、边、属性)的实际持久化
索引层Elasticsearch / Solr / Lucene全文检索与范围查询等混合索引加速

3.2 存储后端与部署形态

  • CQL 后端(Cassandra):生产最常用组合之一,1.1.0 实测兼容 Cassandra 3.11.10 与 4.0.6(发行说明);
  • HBase 后端:对接 Hadoop 生态存量集群,1.1.0 实测兼容 HBase 2.6.0;
  • BerkeleyJE:嵌入式本地存储,适合单机与开发场景;
  • ScyllaDB 6.2.0 亦在 1.1.0 实测兼容列表中。

3.3 索引体系

官方文档将索引分为全局图索引(Global Graph Indices,如复合索引与混合索引)与面向遍历的索引:复合索引支持等值查询,混合索引(配合 Elasticsearch/Solr/Lucene)支持全文与范围查询。1.1.0 的发行说明还包含「将顶点属性内联进复合索引以加速属性读取」等性能优化。

3.4 查询接口

查询语言为 Apache TinkerPop 的 Gremlin(1.1.0 搭配 TinkerPop 3.7.3),支持嵌入式 Java API、Gremlin Server 远程连接与控制台三种方式;远程连接同样可执行文本谓词(1.1.0 发行说明)。

四、功能特性

4.1 分布式与水平扩展

数据随存储后端天然分片,集群容量随 Cassandra/HBase 扩展;官方文档强调其面向「单机无法容纳的大图」的设计目标。

4.2 事务与并发

支持多并发事务与复杂遍历(官方站点);1.1.0 新增事务级「惰性加载关系」配置,并提供批量查询优化(含支持 drop() 步骤的批量优化、JanusGraphNoOpBarrierVertexOnlyStep 等,见 1.1.0 发行说明)。

4.3 Schema 管理

支持显式 Schema 与 1.1.0 新增的 JSON 格式 Schema 定义与初始化(发行说明),便于把建模流程纳入版本管理。

4.4 版本节奏与兼容矩阵

1.x 线约一年一次 minor:1.0.0(2023-10)→ 1.0.1(2024-11)→ 1.1.0(2024-11)。每次发行说明都给出精确到小版本号的「Tested Compatibility」矩阵(存储、索引、TinkerPop、Java),这是选型时核对存量组件版本的第一手依据——例如计划使用 Elasticsearch 8.x 的部署必须确认落在 8.15.3 的兼容点附近。

五、快速上手

以下内容转述自官方文档(https://docs.janusgraph.org/getting-started/basic-usage/ ),本文不做本地实测。

5.1 获取与启动

从官方发行页下载 1.1.0 预打包发行版(内置 Cassandra 4.0.6 与 Elasticsearch 7.17.8),解压后以 bin/gremlin.sh 进入 Gremlin 控制台。

5.2 打开图并加载示例数据

官方 Basic Usage 的最小路径(以内置示例配置为例):

graph = JanusGraphFactory.open('conf/janusgraph-cql-es.properties')
GraphOfTheGodsFactory.load(graph)
g = graph.traversal()

GraphOfTheGodsFactory.load() 会把官方示例图「Graph of the Gods」(神话人物/地点/怪物构成的属性图)写入后端,随后即可执行遍历,例如查询 Saturn 的子孙、Hercules 的十二功绩等官方文档给出的经典遍历示例。

5.3 索引与遍历验证

官方文档在示例图上演示了全局索引的价值:有索引后端时按属性(如 name='saturn')定位顶点走索引查询,无索引时退化为全图扫描。完整步骤与更多遍历示例见官方 Basic Usage 页面;要在生产环境落地,可参考本站《Ubuntu 22.04 安装 JanusGraph 1.1 指南》与《JanusGraph 集群模式部署指南(Gremlin Server + Cassandra 后端集群)》。

六、适用场景与限制

6.1 适用场景

  • 已有 Cassandra/HBase 等存储集群,希望在不引入新存储体系的前提下获得图查询能力;
  • 知识图谱、风控关系网络、身份权限图谱等需要海量顶点边与多跳遍历的场景;
  • 需要 Gremlin 生态(TinkerPop、Gremlin Server、可视化工具)兼容性的项目;
  • 单机开发可用 BerkeleyJE 快速起步,生产再切换 CQL/HBase 后端,配置迁移成本低。

6.2 限制与注意事项

  • 发版节奏偏慢:1.1.0 发布于 2024-11-07,2026-10-19 实查时 1.x 线尚无更新的 minor 版本,新特性需关注社区里程碑;
  • 兼容矩阵必须严格核对:存储/索引后端版本超出「Tested Compatibility」列表即属未验证组合;
  • 组件栈较重:完整生产形态是「JanusGraph + Cassandra + Elasticsearch」三件套,运维面显著大于单体图数据库;
  • Gremlin 学习曲线:团队若无 TinkerPop 经验需预留学习成本;
  • 社区规模中等(约 5.8k stars,第三方聚合 2026-10-19 查询),商业支持依赖生态厂商而非单一发行商。

七、同类选型对比

7.1 候选概览

数据库定位许可证
JanusGraph 1.1存储解耦型分布式图数据库(Gremlin 生态)Apache-2.0
Neo4j图数据库事实标准,Cypher 生态,自带存储社区版 GPLv3 / 企业版商业许可
NebulaGraph大规模分布式图数据库(自有 nGQL)开源版 Apache-2.0(另有企业版)
Apache HugeGraphApache 顶级项目图数据库(Gremlin/Cypher 兼容)Apache-2.0
ArangoDB多模型(文档/图/KV)数据库3.12 起 BSL 1.1 / 社区许可(非生产商用受限)

7.2 量化对比(2026-10-19 实查)

维度JanusGraph 1.1Neo4jNebulaGraphHugeGraphArangoDB
许可证Apache-2.0社区版 GPLv3,企业版商业(neo4j.com)开源版 Apache-2.0,企业版 v5.3 GAApache-2.0BSL 1.1 / ArangoDB 社区许可(3.12 起,非商用与 100GB 限制)
最新稳定版本1.1.0(2024-11-07)2026.09.0(2026-09-21,另有 5.26 LTS 线 5.26.32,2026-10-09)开源版 v3.8.0(企业版 v5.3 GA 2026-06)1.7.0(2025-11-28)3.12.x(3.12.7.2,2026-01-23)
版本节奏约一年一个 minor,补丁少年式版本 + LTS 双线,补丁频繁开源线与企业线节奏分化稳定推进,2026 年 1 月毕业为 Apache 顶级项目3.12 长线维护
GitHub stars 社区活跃度约 5.8k(第三方聚合)约 1.56 万(第三方聚合)约 1.19 万(第三方聚合)约 3.2k(第三方聚合)约 1.42 万(第三方聚合)
查询语言GremlinCyphernGQLGremlin/Cypher 兼容AQL
存储架构解耦(Cassandra/HBase 等)自带自带分布式自带(可插拔后端)自带

(版本与日期取自各自官方发行渠道 2026-10-19 实查:JanusGraph Releases 页、neo4j.com 部署中心与发行说明、nebula-graph.io/download.nebula-graph.io、hugegraph.apache.org 下载页、ArangoDB 官方 CHANGELOG/文档;stars 为第三方聚合口径,查询日期 2026-10-19。)

7.3 选型建议

  • 已重仓 Hadoop/HBase 或 Cassandra 体系的团队,JanusGraph 是以最小新增运维面获得图能力的路径,且 Apache-2.0 无商用限制;
  • 中小规模、想要开箱即用与最强工具链的团队选 Neo4j:年式版本迭代活跃、Cypher 生态与可视化成熟,但注意社区版 GPLv3 与企业版的功能边界;
  • 十亿级边、重 OLTP 多跳查询的场景可评估 NebulaGraph(注意开源线 v3.8.0 与企业线 v5.3 的版本分化);
  • 想要 Apache 顶级项目治理 + Gremlin/Cypher 双语言的候选是 HugeGraph;
  • ArangoDB 需谨慎:3.12 起许可从 Apache 2.0 转为 BSL/社区许可(生产商用受限、100GB 数据上限),多模型便利与许可风险需要一并权衡;
  • 若需要与 JanusGraph 在同一存储栈上做落地验证,可先按本站《Ubuntu 22.04 安装 JanusGraph 1.1 指南》完成单机打通再做对比压测。

八、参考链接