cockroachdb / cockroachdb/cockroach
backup: schema independent backup
- 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
Assessment
This issue has not been assessed yet.