Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Restore cluster from a Backup functionality #126

Open
serdardalgic opened this issue Jan 26, 2023 · 0 comments
Open

Implement Restore cluster from a Backup functionality #126

serdardalgic opened this issue Jan 26, 2023 · 0 comments
Labels
enhancement New feature or request go Pull requests that update Go code good first issue Good for newcomers

Comments

@serdardalgic
Copy link
Contributor

serdardalgic commented Jan 26, 2023

There is a restore_cluster endpoint in the BigAnimal API that allows the users to restore a cluster (by creating a new cluster) from a backup. Users should provide a selectedRestorePointInTime and a new cluster from that time will be created from the backups.

This functionality can be implemented by adding an argument (for example selected_restore_point_in_time) to the biganimal_cluster resource. Any other implementation suggestions are also welcome.

For further reading on the Restore functionality:

If a restore is necessary—for example, in case of an accidental DROP TABLE statement—you can restore clusters to any point within the backup retention period.

Cluster restores aren't performed "in-place" on an existing cluster. Instead, a new cluster is created and initialized with data from the backup archive. Restores must replay the transaction logs between the most recent full database backup and the target restore point. Thus restore times (that is, RTO) are dependent on the write activity in the source cluster.

BigAnimal retains backups for 30 days by default. You can restore backups into a new cluster in any region supported by BigAnimal.

This functionality also makes sense for the Faraway Replicas. Some of the fields that cannot be changed during the creation of Faraway Replicas can be updated during restore from a Faraway Replica.

One thing to consider:

  • For running clusters, the restore endpoint is /projects/{projectId}/clusters/{clusterId}/restore
  • For deleted clusters, the restore endpoint is /projects/{projectId}/deleted-clusters/{clusterId}/restore
@serdardalgic serdardalgic added enhancement New feature or request good first issue Good for newcomers go Pull requests that update Go code labels Jan 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request go Pull requests that update Go code good first issue Good for newcomers
Projects
Development

No branches or pull requests

1 participant