Hi Imba,

Thank you very much for the response. We are currently evaluating open
source solutions Graph databases Janusgraph, Hugegraph etc.
One of the main criterias that evaluations are based on is the ability to
create live backup in production without disrupting the read/write traffic.
Related to Hugegraph, Janusgraph creating live backups can be delegated to
underline datastore. Eg- Cassandra
But we are inclined to  useHugegraph with embedded RocksDB, because then
operation costs will be less so we don't have to maintain
additional/external datastore clusters.

So I am trying to see the possibilities using embedded RocksDB. Based on
complexity and technical feasibility of implementation. I am more than
happy to help with the development work for this, if needed.

Please see the answers/ inline below.

1. GraphsAPI - I see here there are API methods to create snapshot, and for
the resume snapshot I see that this not supported as per here. -
https://github.com/apache/hugegraph/blob/master/hugegraph-server/hugegraph-core/src/main/java/org/apache/hugegraph/backend/store/raft/RaftBackendStoreProvider.java#L249

2. Can you please elaborate more on what you referred to here? Can you
please point me to code Raft APIs you referred here  -
- At the **HStore level** (for distributed deployments), there is a similar
API mechanism based on the Raft protocol. However, these are currently more
"low-level" and are primarily used by developers rather than being exposed
as a standardized service in the high-level API.

3. Finally I would like to know, for Hugegraph distributed deployment of 3
datastore ( Hstore ) nodes. If we parallely take 3 snapshots of Rocksdb
databases using RocksDB backup engine native APIs, it is possible to
restore the entire data cluster as whole to previous consistent state, if
we parallely restore each Hstore node using the snapshot backups created in
earlier steps.

Regards
Kevin

On Tue, Apr 7, 2026 at 11:12 AM Imba Jin <[email protected]> wrote:

> Hi Kevin,
>
> Thank you for your deep dive into the source code and for raising these
> valid points. Regarding your questions about the backup mechanism and
> `hugegraph-tools`, here are some clarifications:
>
> 1. **Current mechanism of `hugegraph-tools`**:
>     You are correct in your observation. Currently, `hugegraph-tools`
> performs data export based on the **shard-api**. This is essentially a
> real-time data scanning process, which means it does not inherently possess
> a "snapshot" mechanism. As you noted, achieving a truly atomic live backup
> typically requires coordination with the underlying storage engine's native
> capabilities.
>
> 2. **Snapshot support in HugeGraph & RocksDB**:
>     RocksDB does indeed support native snapshots, which ensure that reads
> are performed against a deterministic and strongly consistent version of
> the data.
>
>     - At the **Server level**, HugeGraph has already provided basic
> interfaces for snapshot creation and restoration. You can refer to the
> `GraphsAPI` implementation here [1].
>
>     - At the **HStore level** (for distributed deployments), there is a
> similar API mechanism based on the Raft protocol. However, these are
> currently more "low-level" and are primarily used by developers rather than
> being exposed as a standardized service in the high-level API.
>
> 3. **Why `hugegraph-tools` doesn't use snapshots yet**:
>     The primary reason `hugegraph-tools` hasn't yet integrated a
> comprehensive snapshot-level backup is that the current demand/frequency
> for snapshot-based reading has been relatively low in existing use cases.
>
> That said, your point is very well-taken. If there is a strong requirement
> for consistent "hot backups" in production environments, this would be an
> excellent direction for the community to explore. We welcome further
> feedback, and if the demand is high, community developers (or even a
> contribution from your side!) can work on implementing a more robust backup
> version based on these snapshot interfaces.
>
> **Refer:**
> [1]
> https://github.com/apache/hugegraph/blob/master/hugegraph-server/hugegraph-api/src/main/java/org/apache/hugegraph/api/profile/GraphsAPI.java#L286-L301
>
> Best regards,
>
> Imba Jin
>
> On 2026/04/06 23:19:19 Kevin Ratnasekera wrote:
> > Hi Imba,
> >
> > Thank you very much for the response. I went through the source for the
> > toolchain. I do have further questions regarding taking backups.
> > Specifically I would like to know whether it is safe to make backup on
> > live/running production servers. ( this is known as live / hot backups )
> > On the other hand, whether it's possible to restore without any
> > corruptions from those created live backups.
> >
> > Looking at the toolchain source code [1] it doesn't leverage RocksDB
> backup
> > engine to create live backups as per [2]
> > So I would like to know whether the above approach is safe or viable to
> do
> > live backups.
> >
> > [1]
> >
> https://github.com/apache/hugegraph-toolchain/blob/49fa7180496fa126d3fa848094d316a546dbb689/hugegraph-tools/src/main/java/org/apache/hugegraph/manager/BackupManager.java#L166
> > [2] https://github.com/facebook/rocksdb/wiki/How-to-backup-RocksDB
> >
> > Thank you and I'm looking forward to hearing from you.
> >
> > Regards
> > Kevin
> >
> > On Mon, Apr 6, 2026 at 8:18 AM Imba Jin <[email protected]> wrote:
> >
> > > Hi Kevin,
> > >
> > > Some questions are already answered in the Slack link [1], quick reply
> for
> > > others:
> > >
> > > Q3: refer hugegraph-toolchain & deepwiki[2]
> > >
> > > Q4: based on the docker-compose mode[3], we could easily introduce a
> helm
> > > version (Also including the monitor/trace system)
> > >
> > >
> > > refer:
> > > 1.
> > >
> https://the-asf.slack.com/archives/C059UU2FJ23/p1775456373766879?thread_ts=1775085544.786649&cid=C059UU2FJ23
> > > 2. https://deepwiki.com/apache/hugegraph-toolchain
> > > 3. https://github.com/apache/hugegraph/tree/master/docker
> > >
> > >
> > > On 2026/04/02 20:55:24 Kevin Ratnasekera wrote:
> > > > Hi Team,
> > > >
> > > > I do have several questions regarding Hugegraph compared to other
> popular
> > > > graph databases. ( Eg- Neo4j, Janusgraph etc )
> > > >
> > > > 1. Does Hugegraph support Spring Data integration or any other Object
> > > > relational mapping framework? ( Similar to Neo4j spring data ) Is
> this in
> > > > the roadmap for the project?
> > > >
> > > > 2. Is there any recent performance test comparison between Neo4j and
> > > > Janusgraph compared to Hugegraph?
> > > >
> > > > 3. Does Hugegraph support live/hot backup? If configured with RocksDB
> > > > datastore.
> > > >
> > > > 4. Does Hugegraph have Helm chart based deployment in K8S for
> > > > simplify deployments of clusters?
> > > >
> > > > Thank you
> > > >
> > > > Regards
> > > > Kevin
> > > >
> > >
> >
>

Reply via email to