Skip to content
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .serena/memories/architecture_and_modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@
### 1. Client Layer
- Gremlin/Cypher queries, REST APIs, Swagger UI

### 2. Server Layer (hugegraph-server, 13 submodules)
### 2. Server Layer (hugegraph-server, 8 submodules)
- **REST API** (hugegraph-api): GraphAPI, SchemaAPI, GremlinAPI, CypherAPI, AuthAPI, GraphSpaceAPI (distributed only), ManagerAPI (distributed only)
- **Graph Engine** (hugegraph-core): Schema (with TTL update), traversal, task scheduling, GraphSpace multi-tenancy
- **Backend Interface**: Pluggable via `BackendStore`

### 3. Storage Layer
- RocksDB (default/embedded), HStore (distributed/production)
- Legacy (≤1.5.0, deprecated, excluded from context): MySQL, PostgreSQL, Cassandra, ScyllaDB, HBase, Palo
- HBase (deprecated; planned for removal in 2.0)

## Module Structure (7 top-level modules)

### hugegraph-server (13 submodules)
`hugegraph-core`, `hugegraph-api` (includes `opencypher/`, `space/`), `hugegraph-dist`, `hugegraph-test`, `hugegraph-example`, plus backends: `hugegraph-rocksdb`, `hugegraph-hstore`, `hugegraph-hbase`, `hugegraph-mysql`, `hugegraph-postgresql`, `hugegraph-cassandra`, `hugegraph-scylladb`, `hugegraph-palo`
### hugegraph-server (8 submodules)
`hugegraph-core`, `hugegraph-api` (includes `opencypher/`, `space/`), `hugegraph-dist`, `hugegraph-test`, `hugegraph-example`, plus backends: `hugegraph-rocksdb`, `hugegraph-hstore`, `hugegraph-hbase`

### hugegraph-pd (8 submodules)
Placement Driver: `hg-pd-core`, `hg-pd-service`, `hg-pd-client`, `hg-pd-common`, `hg-pd-grpc`, `hg-pd-cli`, `hg-pd-dist`, `hg-pd-test`
Expand Down
3 changes: 1 addition & 2 deletions .serena/memories/implementation_patterns_and_guidelines.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@
- Backends implement `BackendStore` interface from `hugegraph-core`
- Each backend = separate Maven module under `hugegraph-server/`
- Configured via `hugegraph.properties` → `backend` property
- **Active backends (focus here)**: RocksDB (default/embedded), HStore (distributed)
- **Legacy backends** (deprecated, excluded from Serena context): MySQL, PostgreSQL, Cassandra, ScyllaDB, HBase, Palo
- **Supported backends**: RocksDB (default/embedded), HStore (distributed), HBase (deprecated; planned for removal in 2.0)

## GraphSpace Multi-Tenancy
- Core: `hugegraph-core/.../space/` (GraphSpace, SchemaTemplate, Service, register/)
Expand Down
3 changes: 1 addition & 2 deletions .serena/memories/project_overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,7 @@ Apache HugeGraph is a fast-speed, highly-scalable graph database supporting 10+
- **Graph Framework**: Apache TinkerPop 3.5.1
- **RPC**: gRPC + Protocol Buffers
- **API Docs**: Swagger (io.swagger.core.v3)
- **Storage**: RocksDB (default/embedded), HStore (distributed/production)
- **Legacy backends** (≤1.5.0): MySQL, PostgreSQL, Cassandra, ScyllaDB, HBase, Palo
- **Storage**: RocksDB (default/embedded), HStore (distributed/production), HBase (deprecated; planned for removal in 2.0)

## Version
- Current: 1.7.0 (`${revision}` property, Maven flatten plugin)
Expand Down
7 changes: 1 addition & 6 deletions .serena/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,7 @@ ignore_all_files_in_gitignore: true
# Same syntax as gitignore, so you can use * and **.
# Note: global ignored_paths from serena_config.yml are also applied additively.
ignored_paths:
# --- Deprecated backends (focus on RocksDB/HStore only) ---
- "hugegraph-server/hugegraph-cassandra/**"
- "hugegraph-server/hugegraph-scylladb/**"
- "hugegraph-server/hugegraph-mysql/**"
- "hugegraph-server/hugegraph-postgresql/**"
- "hugegraph-server/hugegraph-palo/**"
# --- HBase is deprecated and planned for removal in 2.0 ---
Comment thread
LegendPei marked this conversation as resolved.
- "hugegraph-server/hugegraph-hbase/**"
# --- gRPC generated Java (235k lines, never hand-edited, regenerated by mvn compile) ---
- "hugegraph-pd/hg-pd-grpc/src/main/java/**"
Expand Down
25 changes: 13 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ achieved through the powerful [Gremlin](https://tinkerpop.apache.org/gremlin.htm

- **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**: Mainly supports `RocksDB`/`HStore` + `HBase`; other backends available in [legacy versions](https://hugegraph.apache.org/docs/download/download/) ≤ `1.5.0` (MySQL/PostgreSQL/Cassandra...)
- **Plug-in Backend Store Framework**: Since `1.7.0`, supported backends are `RocksDB`, `HStore`, `HBase`, and `Memory`. Historical versions earlier than `1.7.0` also supported MySQL, PostgreSQL, Cassandra, ScyllaDB, and Palo.
Comment thread
LegendPei marked this conversation as resolved.
Outdated
Comment thread
LegendPei marked this conversation as resolved.
Outdated
- **Big Data Integration**: Seamless integration with `Flink`/`Spark`/`HDFS`
- **Complete Graph Ecosystem**: In/out-memory Graph Computing + Graph Visualization & Tools + Graph Learning & AI
- **Dual Query Language Support**: [Gremlin](https://tinkerpop.apache.org/gremlin.html) (via [Apache TinkerPop 3](https://tinkerpop.apache.org/)) and [Cypher](https://en.wikipedia.org/wiki/Cypher_(query_language)) (OpenCypher)
Expand Down Expand Up @@ -78,11 +78,11 @@ HugeGraph supports both **standalone** and **distributed** deployments:
┌────────────────────────────────┼────────────────────────────────┐
│ │ │
┌────────────▼────────────┐ ┌───────────────▼───────────────┐ ┌───────────▼──────────┐
│ Standalone Mode │ │ Distributed Mode │ │ Legacy Backends
│ ┌───────────────────┐ │ │ ┌─────────────────────────┐ │ │ (≤v1.5)
│ │ RocksDB │ │ │ │ HugeGraph-PD │ │ │ MySQL │ PostgreSQL
│ │ (embedded) │ │ │ │ (Raft, 3-5 nodes) │ │ │ Cassandra
│ └───────────────────┘ │ │ │ :8620/:8686 │ │ │ HBase (≤v1.7)
│ Standalone Mode │ │ Distributed Mode │ │ Supported Backends │
Comment thread
LegendPei marked this conversation as resolved.
Outdated
│ ┌───────────────────┐ │ │ ┌─────────────────────────┐ │ │ RocksDB │ Memory
│ │ RocksDB │ │ │ │ HugeGraph-PD │ │ │ HBase │ HStore
│ │ (embedded) │ │ │ │ (Raft, 3-5 nodes) │ │ │
│ └───────────────────┘ │ │ │ :8620/:8686 │ │ │
│ │ │ └────────────┬────────────┘ │ └──────────────────────┘
│ Use Case: │ │ │ │
│ Development/Testing │ │ ┌────────────▼────────────┐ │
Expand Down Expand Up @@ -148,18 +148,19 @@ flowchart TB
PD <--> STORE
end

subgraph Legacy["Legacy Backends (≤v1.5)"]
MYSQL[(MySQL)]
PG[(PostgreSQL)]
CASS[(Cassandra)]
HBASE[(HBase, ≤v1.7)]
subgraph Backends["Supported Backends"]
HBASE[(HBase)]
HSTORE[(HStore)]
MEMORY[(Memory)]
end
end

Clients --> Server
CORE --> ROCKS
CORE --> PD
CORE -.-> Legacy
CORE --> HBASE
CORE --> HSTORE
CORE --> MEMORY

style Server fill:#e1f5ff
style Distributed fill:#fff4e1
Expand Down
2 changes: 1 addition & 1 deletion docker/hbase/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ After either path is up, run the shared tests below.

- Base URL: `http://localhost:8080`
- Graph target name: `hugegraph`
- Storage backend: persistent (HBase/Cassandra/RocksDB)
- Storage backend: persistent (HBase/RocksDB/HStore)

---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
hugegraph-api-${revision}.jar
hugegraph-cassandra-${revision}.jar
hugegraph-common-${revision}.jar
hugegraph-core-${revision}.jar
hugegraph-dist-${revision}.jar
hugegraph-hbase-${revision}.jar
hugegraph-hstore-${revision}.jar
hugegraph-mysql-${revision}.jar
hugegraph-palo-${revision}.jar
hugegraph-postgresql-${revision}.jar
hugegraph-rocksdb-${revision}.jar
hugegraph-rpc-${revision}.jar
hugegraph-scylladb-${revision}.jar
hugegraph-struct-${revision}.jar
13 changes: 4 additions & 9 deletions hugegraph-server/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ HugeGraph Server is the graph engine layer of Apache HugeGraph, consisting of:
- **REST API Layer** (hugegraph-api): RESTful APIs for graph operations, Gremlin/Cypher queries, schema management, and authentication
- **Graph Engine Layer** (hugegraph-core): TinkerPop 3 implementation, schema management, traversal optimization, task scheduling
- **Backend Interface**: Abstraction layer for pluggable storage backends
- **Storage Backend Implementations**: RocksDB (default), HStore (distributed), and legacy backends (MySQL, PostgreSQL, Cassandra, ScyllaDB, HBase, Palo)
- **Storage Backend Implementations**: RocksDB (default), HStore (distributed), HBase, and Memory

Technology: Java 11+, Maven 3.5+, Apache TinkerPop 3.5.1, Jersey 3.0 (REST), gRPC (distributed communication)

Expand Down Expand Up @@ -50,7 +50,7 @@ mvn checkstyle:check
- `memory`: In-memory backend (default for tests)
- `rocksdb`: RocksDB backend
- `hbase`: HBase backend
- `mysql`, `postgresql`, `cassandra`, `scylladb`, `palo`: Other backends
- `hstore`: HStore backend

```bash
# Unit tests (from hugegraph-server/)
Expand Down Expand Up @@ -78,20 +78,15 @@ All tests are in `hugegraph-test/` which depends on all other modules. Tests are

## Module Structure

Multi-module Maven project with 13 submodules:
Multi-module Maven project with 8 submodules:

```
hugegraph-server/
├── hugegraph-core # Graph engine, TinkerPop impl, schema, backend interface
├── hugegraph-api # REST API, Gremlin/Cypher endpoints, authentication
├── hugegraph-rocksdb # RocksDB backend (default, embedded)
├── hugegraph-hstore # HStore backend (distributed, production)
├── hugegraph-mysql # MySQL backend (legacy)
├── hugegraph-postgresql # PostgreSQL backend (legacy)
├── hugegraph-cassandra # Cassandra backend (legacy)
├── hugegraph-scylladb # ScyllaDB backend (legacy)
├── hugegraph-hbase # HBase backend (legacy)
├── hugegraph-palo # Palo backend (legacy)
├── hugegraph-hbase # HBase backend
├── hugegraph-dist # Distribution packaging, scripts, configs
├── hugegraph-test # All test suites
└── hugegraph-example # Example code
Expand Down
2 changes: 1 addition & 1 deletion hugegraph-server/hugegraph-api/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
<groupId>com.alipay.sofa</groupId>
<artifactId>hessian</artifactId>
</exclusion>
<!-- conflict with cassandra-netty/tinkerpop-server -->
<!-- avoid netty version conflicts with tinkerpop-server -->
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
Expand Down
108 changes: 0 additions & 108 deletions hugegraph-server/hugegraph-cassandra/pom.xml

This file was deleted.

This file was deleted.

Loading
Loading