I recently planned to design a collaborative backup restore system based on foundationdb and other systems. After investigating the documentation, forums and issues, I have many questions:
-
backup and restore
- What is the progress of the new backup system (v2)? I only see one parameter in the documentation
- What is the progress of the new restore system (Performant restore)?
- Will DR base on the new backup restore system in the future?
-
DR
- I read the forum that there is a pause and resume function, but I don’t see it in the documentation
- I saw the issue pause and resume had performance problems, is it solved?
- Abort current DR, then start again, can continue to synchronize based on current data, incrementally? Or is it equivalent to start from empty data?
- Is there any way to achieve this efficiently?
-
Hybird
-
File snapshot-based backup restore
- Is there a detailed description of how to use it, including features and limitations?
- Guess: first get the system into some kind of state and then the user goes to snapshot accordingly, or is everything organized by fdb?
- Can snapshots be imported and exported?
-
- What are the limitations? For example, restrictions on atomic operations
- Do I need to pause or abort DR?
- How to get the starting point of the restore operation? issue?
-
-
multi-key range backup restore, suppose there are two key ranges: A, B
- Is there a performance difference between a non-separate backup and a separate backup of A and B?
- Does the range division of backup affect restore? For example, is it possible to do separate restore of A and B without separate backups?
- Is there any performance difference between non-separate restore and separate A and B restore?
- If the goal is to restore A and B separately, is it better to choose not separate backups or separate backups?
-
Incremental restore
- What is the progress of the incremental restore? Has it solved the problem of atomic operations?
- Is the new backup restore system required?
- Does it support continuous incremental restore? For example, the first time from version 1 to version 100, and the second time from version 100 to version 200?
- Does it support incremental restore with multiple key ranges separated? For example, first restore range A from version 1 to version 100, and then restore range B from version 1 to version 100.
- How can I pause an incremental restore and then continue? Will there be DR-like performance issues?
- How to abort one incremental restore and then continue? Where can I find out how to continue (the begin_version to continue)? For example, can I check where the current restore has gone by stats?
- If the backup is performed continuously, if the restore does not select the target version, will the restore be performed continuously? Or does it stop automatically? How do I know how to continue next time after stopping?
- Is there any plan or possible support for version rollback?