[Feature] Implement Cloud Storage Support for HugeGraph
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 25/100
Direzione di ricerca
Inizia con l’RFC e il thread di discussione collegati, quindi esamina il branch HStore+CloudStorage nel fork indicato. Confronta la proposta con l’architettura di storage esistente di HugeGraph e individua i punti di ingresso per le estensioni rilevanti. Per considerare il lavoro completato, sono necessari un design basato su SPI concordato, il supporto per i cloud provider, il comportamento di offloading e hydration, la configurazione e i test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Feature Description (功能描述)
Motivation
in modern cloud-native environments, compute instances are ephemeral—frequently created and destroyed based on autoscaling policies. HugeGraph currently relies on local disk storage (RocksDB), which creates significant risks for data durability and complicates operational lifecycle management in these dynamic environments. We propose integrating a pluggable cloud-native storage tier to offload data to object storage, effectively decoupling compute from storage to ensure data persistence, reliability, and operational flexibility.
High-Level Requirements:
- Decoupled Storage: Enable offloading and retrieving HugeGraph data from cloud object storage (e.g., S3, GCS, Azure Blob).
- Extensible Architecture: Implement a provider-agnostic framework using an SPI (Service Provider Interface) mechanism. This design ensures the core storage engine remains decoupled, allowing the community to add new storage backends without requiring modifications to the core codebase.
- Initial Cloud Support: Provide out-of-the-box support for few popular cloud object storage services e.g. AWS S3, Azure Data Lake Storage Gen2. Google Cloud Storage (GCS) etc.
Functional Requirements:
- Automated Data Offloading: Mechanism to persist local SST data to configured cloud object storage.
- Intelligent Hydration: Ability to recover/hydrate data from cloud storage to local compute nodes upon startup or during read-miss scenarios.
- Configuration: Standardized property-based configuration for buckets, endpoints, and caching strategies.
Non-Functional Requirements:
- Performance: Minimize read/write latency overhead via local caching layers.
- Scalability: Support elastic scaling of compute nodes without requiring complex manual data migration.
- Maintainability: Enable the addition of new storage backends via an SPI-based plugin model to minimize technical debt.
Discussion thread : https://github.com/apache/hugegraph/discussions/3080
RFC Document : RFC: Cloud Storage Support for HugeGraph
PoC Code: In Branch HStore+CloudStorage in my fork https://github.com/vaijosh/hugegraph
- Lingua principale
- Java
- Stelle
- 3.2k
- Fork
- 637
- Merge medio
- 3g 18h
- PR unite (30g)
- 23
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/hugegraph
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 64/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 28/100
Tutte le issue di apache/hugegraph
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
infinispan/infinispan#18150 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
-
untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
opensearch-project/k-NN#3597 ·
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100