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
> > >
> >
>