spacejam / sled

the champagne of beta embedded databases
Apache License 2.0
8.2k stars 384 forks source link

API for checkpoint / snapshot / backup system #1198

Open thedodd opened 4 years ago

thedodd commented 4 years ago

Use Case:

Rocks equivalent:

The primary use case here is exactly as described in the Rocks use case. Full & incremental backups. In my specific use case, I am building a distributed data storage system which uses async-raft for consensus, which includes a protocol where snapshots are sent to new nodes to bring them up-to-speed. Good stuff.

Proposed Change:

The API I am envisioning is as follows.

Who Benefits From The Change(s)?

Anyone and everyone looking for full / incremental backups, and the various use cases which emerge from that capability.

Alternative Approaches

Instead of calling this new API method checkpoint, we could call it backup.

ckaran commented 4 years ago

@thedodd Take a look at https://github.com/spacejam/sled/issues/587#issuecomment-580276392 as well as the rest of that issue. Can we combine all of the ideas into a single new feature request?