apple / apple/foundationdb

Hybrid Restore: Combine disk-snapshot restore and point-in-time restore for a super fast point-in-time restore

Open
#2,127 2 comments 2 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
16.7k
Forks
1.6k
Avg merge
1d 20h
Merged PRs (30d)
126

Description

On a (cloud) platform that supports disk snapshot, the disk-snapshot based backup and restore can restore a cluster super fast. However, it does not support point-in-time restore which restores the cluster to an arbitrary version in a time period.

The other backup and restore system in FDB supports point-in-time restore, but it is much slower than the disk-snapshot approach.

Can we combine both approach to provide a super fast point-in-time restore on the platform that supports disk snapshot?

The idea is as follows:
Backup a cluster with both approaches. Creating the consistent disk snapshot periodically.

To restore the cluster to a version `v`:
1) Use the disk-snapshot approach to restore the cluster to the closest version, say `v_snapshot` that is below version `v`;
2) Use the next-generation point-in-time restore [1] to apply the mutations between `(v_snapshot, v)` to drive the cluster to the restore version `v`.

[1] Issue https://github.com/apple/foundationdb/issues/1049

Contributor guide

Open the contributing guide

Research direction

Start by reading issue #1049, the referenced next-generation point-in-time restore work, and compare it with the disk-snapshot backup and restore path described here. Determine how a snapshot at version v_snapshot could be followed by mutations through version v, and define the backup, restore, and consistency behavior needed for the combined approach.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
databases, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.