- Gremlin/Cypher query interfaces
- REST API endpoints
- Multiple client language bindings
- REST API Layer (hugegraph-api): GraphAPI, SchemaAPI, GremlinAPI, CypherAPI, AuthAPI
- Graph Engine Layer (hugegraph-core): Schema management, traversal optimization, task scheduling
- Backend Interface: Abstraction over storage backends
- Pluggable backend implementations
- Each backend extends
hugegraph-coreabstractions - Implements
BackendStoreinterface
The project consists of 7 main modules:
Core graph engine, REST APIs, and backend implementations:
hugegraph-core- Core graph engine and abstractionshugegraph-api- REST API implementations (includes OpenCypher inopencypher/)hugegraph-dist- Distribution packaging and scriptshugegraph-test- Test suites (unit, core, API, TinkerPop)hugegraph-example- Example code- Backend implementations:
hugegraph-rocksdb(default)hugegraph-hstore(distributed)hugegraph-hbasehugegraph-mysqlhugegraph-postgresqlhugegraph-cassandrahugegraph-scylladbhugegraph-palo
Placement Driver for distributed deployments (meta server):
hg-pd-core- Core PD logichg-pd-service- PD service implementationhg-pd-client- Client libraryhg-pd-common- Shared utilitieshg-pd-grpc- gRPC protocol definitions (auto-generated)hg-pd-cli- Command line interfacehg-pd-dist- Distribution packaginghg-pd-test- Test suite
Distributed storage backend with RocksDB and Raft:
hg-store-core- Core storage logichg-store-node- Storage node implementationhg-store-client- Client libraryhg-store-common- Shared utilitieshg-store-grpc- gRPC protocol definitions (auto-generated)hg-store-rocksdb- RocksDB integrationhg-store-cli- Command line interfacehg-store-dist- Distribution packaginghg-store-test- Test suite
Shared utilities across modules:
- Locks and concurrency utilities
- Configuration management
- RPC framework components
Data structure definitions shared between modules. Important: Must be built before PD and Store modules.
Distribution packaging and release management:
- License and NOTICE files
- Dependency management scripts
- Release documentation
Cluster integration tests for distributed deployments
hugegraph-commons → (shared by all modules)
hugegraph-struct → hugegraph-pd + hugegraph-store
hugegraph-core → (extended by all backend implementations)
For production distributed deployments:
- hugegraph-pd: Service discovery, partition management, metadata
- hugegraph-store: Distributed storage with Raft (3+ nodes)
- hugegraph-server: Multiple server instances (3+)
- Communication: All use gRPC with Protocol Buffers
Status: Distributed components (PD + Store) are in BETA