unum-cloud/ustore

Feature: Backup capability for UStore

DarvinHarutyunyan opened this issue · 2 comments

Describe what you are looking for

Be able to make backups for the DB on the specified path. View existing backups, delete and restore the necessary backup.
The necessary placeholders for this new functionality can be the following interface functions:

  • backup_create(db, path, id)
  • backup_restore(db, path, id)
  • backup_list(db, path, ids)
  • backup_drop(db, path, id)

Can you contribute to the implementation?

  • I can contribute

Is your feature request specific to a certain interface?

It applies to everything

Contact Details

No response

Is there an existing issue for this?

  • I have searched the existing issues

Code of Conduct

  • I agree to follow this project's Code of Conduct

We only need one function - exporting a snapshot to a given path.
It will keep the interface much more concise than the Snapshots, Backups, and Checkpoints of RocksDB, but it may be hard to implement efficiently for third-party key-value stores.

One alternative is manually exporting from Snapshot using one or more Iterator-s. That will be much slower than the native approach. We may also research ways to expose the list of managed files, similar to GetLiveFiles, but specific to a certain snapshot.

What do you mean by exporting a snapshot? (exporting in our export file formats or "exporting" as DB engine native file formats)