HugeGraph is a fast and highly-scalable graph database.
Billions of vertices and edges can be easily stored into and queried from HugeGraph due to its excellent OLTP capabilities.
HugeGraph is compliant with the Apache TinkerPop 3 framework allowing complicated graph queries to be
achieved through the powerful Gremlin graph traversal language.
Features
Schema Metadata Management: VertexLabel, EdgeLabel, PropertyKey, and IndexLabel
Multi-type Indexes: Exact query, range query, and complex conditions combination query
Plug-in Backend Store Framework: RocksDB powers standalone deployments and HStore powers distributed clusters. See the backend evolution guide for compatibility details.
Big Data Integration: Seamless integration with Flink/Spark/HDFS
📊 Click to view detailed architecture diagram (Mermaid)
flowchart TB
CLIENTS["Client Layer Gremlin Console · REST Client · Cypher Client · SDK/Tools"]
subgraph Server["HugeGraph Server :8080"]
API[REST API Jersey 3]
GS[Gremlin Server TinkerPop 3.8.1]
CS[Cypher Engine OpenCypher]
CORE[Graph Engine hugegraph-core]
API --> CORE
GS --> CORE
CS --> CORE
end
subgraph Storage["Storage Layer"]
subgraph Standalone["Standalone Mode"]
ROCKS[(RocksDB Embedded)]
end
subgraph Distributed["Distributed Mode"]
PD_HSTORE[PD + HStore Raft Cluster]
end
end
CLIENTS --> Server
CORE --> ROCKS
CORE --> PD_HSTORE
style Server fill:#e1f5ff
style Distributed fill:#fff4e1
style Standalone fill:#f0f0f0
Quick Start
5 Minutes Quick Start
# Start HugeGraph (standalone mode)
docker run -itd --name=hugegraph -p 8080:8080 hugegraph/hugegraph:1.7.0
# Verify server is running
curl http://localhost:8080/versions
# Try a Gremlin query
curl -X POST http://localhost:8080/gremlin \
-H "Content-Type: application/json" \
-d '{"gremlin":"g.V().limit(5)"}'
Production Note: For production environments or public network exposure, you must enable the AuthSystem for security.
Prerequisites
Java 17 (required and currently the only supported Java release)
Maven 3.6.3+ (for building from source)
The launch scripts reject Java versions older than 17. That minimum-version
check does not qualify later Java releases; use Java 17 unless another release
is explicitly listed as supported.
Read the Server runtime guide
for client configuration and query compatibility checks.
Option 1: Docker (Fastest)
Docker is the quickest way to get started for testing or development:
# Basic usage
docker run -itd --name=hugegraph -p 8080:8080 hugegraph/hugegraph:1.7.0
# With sample graph preloaded
docker run -itd --name=hugegraph -e PRELOAD=true -p 8080:8080 hugegraph/hugegraph:1.7.0
# With authentication enabled
docker run -itd --name=hugegraph -e PASSWORD=your_password -p 8080:8080 hugegraph/hugegraph:1.7.0
Docker Desktop (Mac/Windows): The 3-node distributed cluster (docker/docker-compose-3pd-3store-3server.yml) uses Docker bridge networking and works on all platforms including Docker Desktop. Allocate at least 12 GB memory to Docker Desktop.
Note: Docker images are convenience releases, not official ASF distribution artifacts. See ASF Release Distribution Policy for details.
Version Tags: Use release tags (e.g., 1.7.0) for stable deployments. The latest tag should only be used for testing or development.
Option 2: Kubernetes with Helm
The HStore Helm chart deploys HugeGraph PD, Store, and Server as a distributed
Kubernetes cluster. See the chart documentation for
single-node and highly available presets, configuration, and
upgrade guidance.
# Download and extract
# For historical 1.7.0 and earlier releases, use the archive URL and
# set PACKAGE=apache-hugegraph-incubating-{version} instead.
BASE_URL="https://downloads.apache.org/hugegraph/{version}"
PACKAGE="apache-hugegraph-{version}"
# Historical alternative:
# BASE_URL="https://archive.apache.org/dist/incubator/hugegraph/{version}"
# PACKAGE="apache-hugegraph-incubating-{version}"
wget ${BASE_URL}/${PACKAGE}.tar.gz
tar -xzf ${PACKAGE}.tar.gz
cd ${PACKAGE}
# Initialize backend storage
bin/init-store.sh
# Start server
bin/start-hugegraph.sh
# Check server status
bin/monitor-hugegraph.sh
WeChat: Scan the QR code to follow Apache HugeGraph official account
Thanks
HugeGraph relies on the Apache TinkerPop framework. We are grateful to the TinkerPop community, Titan, and DataStax for their foundational work. Thanks to all contributors and organizations who have helped make HugeGraph possible.
You are welcome to contribute to HugeGraph, and we look forward to working with you to build an excellent open-source community.
A graph database that supports more than 10 billion vertices & edges, high performance and scalability
Quick Navigation: Architecture • Quick Start • Module Map • Ecosystem • For Contributors • Community
What is Apache HugeGraph?
HugeGraph is a fast and highly-scalable graph database. Billions of vertices and edges can be easily stored into and queried from HugeGraph due to its excellent OLTP capabilities. HugeGraph is compliant with the Apache TinkerPop 3 framework allowing complicated graph queries to be achieved through the powerful Gremlin graph traversal language.
Features
Flink/Spark/HDFSEcosystem
Complete HugeGraph ecosystem components:
hugegraph-toolchain - Graph tools suite
hugegraph-computer - Integrated graph computing system
hugegraph-ai - Graph AI/LLM/Knowledge Graph integration
hugegraph-website - Documentation & website repository
Architecture
HugeGraph supports both standalone and distributed deployments:
See the backend evolution guide for lifecycle and historical compatibility guidance.
To use ToplingDB with the RocksDB backend, follow the three-step switching guide.
Deployment Mode Comparison
Module Overview
See the 1.8.0 shared-foundation migration guide for Java API changes, module ownership and coordinated upgrade requirements.
📊 Click to view detailed architecture diagram (Mermaid)
flowchart TB CLIENTS["Client LayerGremlin Console · REST Client · Cypher Client · SDK/Tools"] subgraph Server["HugeGraph Server :8080"] API[REST API
Jersey 3] GS[Gremlin Server
TinkerPop 3.8.1] CS[Cypher Engine
OpenCypher] CORE[Graph Engine
hugegraph-core] API --> CORE GS --> CORE CS --> CORE end subgraph Storage["Storage Layer"] subgraph Standalone["Standalone Mode"] ROCKS[(RocksDB
Embedded)] end subgraph Distributed["Distributed Mode"] PD_HSTORE[PD + HStore
Raft Cluster] end end CLIENTS --> Server CORE --> ROCKS CORE --> PD_HSTORE style Server fill:#e1f5ff style Distributed fill:#fff4e1 style Standalone fill:#f0f0f0
Quick Start
5 Minutes Quick Start
Prerequisites
The launch scripts reject Java versions older than 17. That minimum-version check does not qualify later Java releases; use Java 17 unless another release is explicitly listed as supported.
Read the Server runtime guide for client configuration and query compatibility checks.
Option 1: Docker (Fastest)
Docker is the quickest way to get started for testing or development:
For advanced Docker configurations, see:
Option 2: Kubernetes with Helm
The HStore Helm chart deploys HugeGraph PD, Store, and Server as a distributed Kubernetes cluster. See the chart documentation for single-node and highly available presets, configuration, and upgrade guidance.
Option 3: Download Binary Package
Download pre-built packages from the Download Page:
For detailed instructions, see the Binary Installation Guide.
Option 4: Build from Source
Build from source for development or customization:
For detailed build instructions, see BUILDING.md and Build from Source Guide.
Verify Installation
Once the server is running, verify the installation:
For comprehensive documentation, visit the HugeGraph Documentation.
Read the storage lifecycle and recovery guide before restoring data, mounting store directories or upgrading the storage runtime.
Module Map
Developer Navigation: Find the right module for your task
hugegraph-coreStandardHugeGraph.javahugegraph-apisrc/.../api/hugegraph-coreBackendStore.javahugegraph-coresrc/.../traversal/hugegraph-apisrc/.../opencypher/hugegraph-pdhg-pd-core/hugegraph-storehg-store-core/hugegraph-server/hugegraph-{backend}hugegraph-rocksdb/,hugegraph-hstore/hugegraph-distsrc/assembly/static/conf/hugegraph-testFor repository constraints and module guidance, see AGENTS.md.
For Contributors
New to HugeGraph? Follow this path to get started:
Understand the Architecture
Set Up Your Environment
.editorconfigfor code style andstyle/checkstyle.xmlfor Checkstyle rulesFind Your First Issue
Learn the Codebase
mvn test -pl hugegraph-server/hugegraph-test -am -P core-test,memoryCode Standards
feat|fix|refactor(module): descriptionSubmit Your Contribution
Contributing
Welcome to contribute to HugeGraph!
.editorconfigfor code style andstyle/checkstyle.xmlfor Checkstyle rulesThank you to all the contributors who have helped make HugeGraph better!
License
HugeGraph is licensed under Apache 2.0 License.
Community
Get Help & Stay Connected
Thanks
HugeGraph relies on the Apache TinkerPop framework. We are grateful to the TinkerPop community, Titan, and DataStax for their foundational work. Thanks to all contributors and organizations who have helped make HugeGraph possible.
You are welcome to contribute to HugeGraph, and we look forward to working with you to build an excellent open-source community.