跳转到主要内容

这是本节的多页打印视图。 .

返回本页常规视图.

Apache HugeGraph 介绍

什么是 Apache HugeGraph?

Apache HugeGraph 是一套易用、高效、通用的开源全栈图系统GitHub),覆盖图数据库(OLTP 实时查询)、图计算(OLAP 大规模分析)与图 AI(GraphRAG / 图机器学习)三大领域。

HugeGraph 支持百亿以上的顶点和边的快速存储与查询,具备出色的 OLTP 性能。其图引擎兼容 Apache TinkerPop 3 框架,同时支持 GremlinCypher(OpenCypher 标准)查询语言。

典型应用场景: 深度关系探索、关联分析、路径搜索、特征抽取、社区检测、知识图谱等。 适用领域: 网络安全、电信反欺诈、金融风控、广告推荐、社交网络、智能问答等。

生态系统全景

┌────────────────────────────────────────────────────────────────────┐
│            Apache HugeGraph - Full-Stack Graph System             │
├──────────────────┬────────────────────┬────────────────────────────┤
│  Graph DB (OLTP) │    Graph Compute   │          Graph AI          │
│  HugeGraph       │  Vermeer (Memory)  │       HugeGraph-AI         │
│  Server          │  Computer (Dist.)  │     GraphRAG / GNN / Py    │
├──────────────────┴────────────────────┴────────────────────────────┤
│                       HugeGraph Toolchain                          │
│ Hubble | Loader | Client (Java/Go/Python; Rust WIP) | Spark | Tools│
└────────────────────────────────────────────────────────────────────┘

HugeGraph Server(OLTP 图引擎)

HugeGraph Server 是图数据库的 OLTP 引擎和服务入口,负责属性图建模、事务处理、查询执行和 API 接入。图数据实际保存在配置的 RocksDB、HStore 或 HBase 后端中。

  • 属性图与 Schema:支持 VertexLabel、EdgeLabel、PropertyKey 和 IndexLabel 管理
  • 查询语言:支持 Gremlin(TinkerPop 3)和 Cypher(OpenCypher)
  • REST API:提供 Schema、图数据、查询、任务和运维接口
  • 索引与查询:支持精确查询、范围查询和复合条件查询
  • 存储后端:1.7.0 至 master 主要支持 RocksDB(单机)、HStore(分布式)和 HBase

主要模块包括 hugegraph-core、存储后端模块和 hugegraph-api。Core 实现图模型、事务和查询逻辑,后端模块负责连接具体存储系统,API 模块负责 HTTP 接入。当前 REST 资源路径包含图空间与图名称,例如:

/graphspaces/{graphspace}/graphs/{graph}

单机部署通常使用 RocksDB。分布式部署使用 HStore,由 PD 管理集群元数据和分区调度,Store 保存图数据及其副本。HBase 可作为独立的后端存储。

HugeGraph Toolchain

HugeGraph Toolchain 提供客户端、数据导入、可视化管理、Spark 集成和命令行运维工具,覆盖图应用从接入数据到日常管理的主要环节。

模块用途
Client封装 Schema 管理、图数据读写、Gremlin 和 Traverser API;支持 Java、PythonGo,Rust 客户端正在开发中
Loader从本地文件、HDFS、JDBC、Kafka 或其他图读取数据,转换为顶点和边后批量导入 HugeGraph
Hubble提供图连接、Schema、数据导入、Gremlin 查询和图形化结果展示的 Web 管理界面
Spark Connector在 Spark 作业中批量读写 HugeGraph,适合大数据离线处理
Tools提供部署、图管理、备份恢复和 Gremlin 执行等命令行能力

图计算引擎(OLAP)

HugeGraph-Computer 仓库提供两种互补的 OLAP 图计算引擎:

  • Vermeer:使用 Go 编写,采用 master-worker 架构,以内存计算为主,提供 REST API、gRPC 和 Web UI,适合快速执行中小规模图分析任务。
  • Computer:使用 Java 编写,实现 BSP/Pregel 分布式计算模型,可运行在 Kubernetes、YARN 或本地进程中。数据超过内存阈值时可以落盘,适合更大规模的图计算任务。

两者都可以读取 HugeGraph 数据,但运行架构、资源需求、配置和算法接口不同。

HugeGraph-AI(Graph + AI)

HugeGraph-AI 连接图技术与大语言模型、图机器学习框架。仓库使用 Python 3.10 或更高版本,并通过 uv 管理工作区,主要包含以下模块:

  • hugegraph-llm:提供 GraphRAG、知识图谱构建、自然语言查询和 Text2Gremlin
  • hugegraph-ml:提供节点分类、图分类、图嵌入、链接预测和欺诈检测等模型
  • hugegraph-python-client:通过 Python 管理 Schema、图数据和 Gremlin 查询
  • vermeer-python-client:通过 Python 调用 Vermeer 图计算服务

HugeGraph-AI 快速开始

部署模式

模式核心组件适用场景数据规模
单机模式(OLTP)Server + RocksDB开发、测试和中小规模数据≤ 2 TB
分布式模式(OLTP)Server + PD + Store(HStore)生产环境、水平扩展和多副本部署≤ 1 PB

图计算属于 OLAP 任务,容量和资源需求取决于所选引擎、图结构与算法,不沿用上表的 OLTP 存储容量口径。

选择入口

需求文档
启动图数据库并执行查询Server 快速开始
批量导入数据Loader
使用 Web 界面管理图Hubble
运行图算法Vermeer 与 Computer
构建 GraphRAG 或图机器学习应用HugeGraph-AI

社区

微信公众号二维码

1 - Introduction with HugeGraph

Summary

Apache HugeGraph 是一款易用、高效、通用的开源图数据库系统(Graph Database,GitHub 项目地址), 实现了Apache TinkerPop3框架及完全兼容Gremlin查询语言, 具备完善的工具链组件,助力用户轻松构建基于图数据库之上的应用和产品。HugeGraph 支持百亿以上的顶点和边快速导入,并提供毫秒级的关联关系查询能力(OLTP), 并支持大规模分布式图分析(OLAP)。

HugeGraph 典型应用场景包括深度关系探索、关联分析、路径搜索、特征抽取、数据聚类、社区检测、知识图谱等, 适用业务领域有如网络安全、电信诈骗、金融风控、广告推荐、社交网络和智能机器人等。

本系统的主要应用场景是解决反欺诈、威胁情报、黑产打击等业务的图数据存储和建模分析需求,在此基础上逐步扩展及支持了更多的通用图应用。

Features

HugeGraph 支持在线及离线环境下的图操作,支持批量导入数据,支持高效的复杂关联关系分析,并且能够与大数据平台无缝集成。 HugeGraph 支持多用户并行操作,用户可输入 Gremlin 查询语句,并及时得到图查询结果,也可在用户程序中调用 HugeGraph API 进行图分析或查询。

本系统具备如下特点:

  • 易用:HugeGraph 支持 Gremlin 图查询语言与 RESTful API,同时提供图检索常用接口,具备功能齐全的周边工具,轻松实现基于图的各种查询分析运算。
  • 高效:HugeGraph 在图存储和图计算方面做了深度优化,提供多种批量导入工具,轻松完成百亿级数据快速导入,通过优化过的查询达到图检索的毫秒级响应。支持数千用户并发的在线实时操作。
  • 通用:HugeGraph 支持 Apache Gremlin 标准图查询语言和 Property Graph 标准图建模方法,支持基于图的 OLTP 和 OLAP 方案。集成 Apache Hadoop 及 Apache Spark 大数据平台。
  • 可扩展:支持分布式存储、数据多副本及横向扩容,内置多种后端存储引擎,也可插件式轻松扩展后端存储引擎。
  • 开放:HugeGraph 代码开源(Apache 2 License),客户可自主修改定制,选择性回馈开源社区。

本系统的功能包括但不限于:

  • 支持从多数据源批量导入数据 (包括本地文件、HDFS 文件、MySQL 数据库等数据源),支持多种文件格式导入 (包括 TXT、CSV、JSON 等格式)
  • 具备可视化操作界面,可用于操作、分析及展示图,降低用户使用门槛
  • 优化的图接口:最短路径 (Shortest Path)、K 步连通子图 (K-neighbor)、K 步到达邻接点 (K-out)、个性化推荐算法 PersonalRank 等
  • 基于 Apache TinkerPop3 框架实现,支持 Gremlin 图查询语言
  • 支持属性图,顶点和边均可添加属性,支持丰富的属性类型
  • 具备独立的 Schema 元数据信息,拥有强大的图建模能力,方便第三方系统集成
  • 支持多顶点 ID 策略:支持主键 ID、支持自动生成 ID、支持用户自定义字符串 ID、支持用户自定义数字 ID
  • 可以对边和顶点的属性建立索引,支持精确查询、范围查询、全文检索
  • 存储系统采用插件方式,支持 RocksDB(单机/集群)、Cassandra、ScyllaDB、HBase、MySQL、PostgreSQL、Palo 以及 Memory 等
  • 与 HDFS、Spark/Flink、GraphX 等大数据系统集成,支持 BulkLoad 操作导入海量数据
  • 支持高可用 HA、数据多副本、备份恢复、监控、分布式 Trace 等

Modules

  • HugeGraph-Server: HugeGraph-Server 是 HugeGraph 项目的核心部分,包含 Core、Backend、API 等子模块;
    • Core:图引擎实现,向下连接 Backend 模块,向上支持 API 模块;
    • Backend:实现将图数据存储到后端,支持的后端包括:Memory、Cassandra、ScyllaDB、RocksDB、HBase、MySQL 及 PostgreSQL,用户根据实际情况选择一种即可;
    • API:内置 REST Server,向用户提供 RESTful API,同时完全兼容 Gremlin 查询。(支持分布式存储和计算下推)
  • HugeGraph-Toolchain: (工具链)
    • HugeGraph-Client:HugeGraph-Client 提供了 RESTful API 的客户端,用于连接 HugeGraph-Server,目前仅实现 Java 版,其他语言用户可自行实现;
    • HugeGraph-Loader:HugeGraph-Loader 是基于 HugeGraph-Client 的数据导入工具,将普通文本数据转化为图形的顶点和边并插入图形数据库中;
    • HugeGraph-Hubble:HugeGraph-Hubble 是 HugeGraph 的 Web 可视化管理平台,一站式可视化分析平台,平台涵盖了从数据建模,到数据快速导入,再到数据的在线、离线分析、以及图的统一管理的全过程;
    • HugeGraph-Tools:HugeGraph-Tools 是 HugeGraph 的部署和管理工具,包括管理图、备份/恢复、Gremlin 执行等功能。
  • HugeGraph-Computer:HugeGraph-Computer 是分布式图处理系统 (OLAP). 它是 Pregel 的一个实现。它可以运行在 Kubernetes/Yarn 等集群上,支持超大规模图计算。
  • HugeGraph-AI:HugeGraph-AI 是 HugeGraph 独立的 AI 组件,提供了图神经网络的训练和推理功能,LLM/Graph RAG 结合/Python-Client 等相关组件,持续更新 ing。

Contact Us

Apache HugeGraph 微信公众号二维码{width=“300” height=“94”}