cockroachdb / cockroachdb/cockroach

backup: schema independent backup

Open
#146,879 1 comment 0 reactions 0 assignees View on GitHub
A-disaster-recovery C-enhancement T-disaster-recovery
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

Currently, starting a full cluster back up of a traditional cluster requires reading the entire schema into memory. UA cluster backups do not need to do this because they use range information to determine which ranges should be backed up. The backed up ranges include the descriptors, which allow for restoring the cluster.

Ideally, this is how a regular full cluster backup would work as well. That would allow us to efficiently back up clusters with massive schemas. Restore is a bit better than backup in this department because it already avoids fully materializing the schema in memory.

The one wrinkle for this strategy is that `SHOW BACKUPS` requires some information from the schema to operate and UA cluster backups do not support table level restores. One way to handle this is to dump `/Table/3` (descriptors), `/Table/30` (namespace) in to top level blob objects. We could construct a catalog capable of reading from these tables and use that catalog to power `SHOW BACKUPS` and tabel level restores.

Jira issue: CRDB-50767

Epic CRDB-50825

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.