Backup and Restore Cluster Data

      +
      As part of an overall disaster recovery plan for production data, a robust scheduled backup and retention policy is recommended.

      Couchbase Capella supports scheduled and on-demand backups of bucket data. All buckets have the option to be deployed with a daily or weekly backup schedule.

      Deployments hosted by Couchbase, using Couchbase Server 7.x, have backups configured on a per-bucket basis. Clusters that are hosted in your own cloud account, that use Couchbase Server 6.6, have backups taken on a per-cluster basis.

      Per-Bucket Backups

      Capella supports scheduled and on-demand bucket backups on a per-bucket basis. Scheduled backups are configured for each bucket during bucket creation. Scheduled backup configurations can be modified at any time to fit changing requirements. On-demand backups can be created at any time as needed.

      Couchbase Capella uses its own backup utility. When a backup or restore job starts, Capella launches a separate compute instance that is specifically dedicated to running the backup utility for that particular backup job. Since the backup utility runs in a separate instance and connects to the cluster over the cloud network, it has minimal impact on cluster performance. Once the job has finished, the instance running the backup utility is decommissioned.

      Things that are not included in a backup:
      • Point-in-time snapshot of the entire cluster

        Capella does not currently support point-in-time snapshots of cluster data. While the data in a backup is per-item consistent, the data items are written to the backup at slightly different times, and therefore the state of one item does not infer the state of another item.

      • Cluster settings

      Bucket Backup Types

      Couchbase Capella supports Full and Incremental backups. These backup types are required components of every Scheduled backup series.

      Full backups

      Full backups provide the best restore performance but take the most time to complete, require the most storage, and can be demanding on cluster resources. They include all the bucket data present when the Full backup was created and can generally be ~40% of the size of the original data set. Full backups can be created on-demand and are automatically taken at the start of every Scheduled backup series.

      Incremental backups

      An Incremental backup is a required part of a Scheduled backup series. Incremental backups will only ever appear within Scheduled backups because they are dependent on a Full backup to be restored. Incremental backups only include the data that has changed since the last backup in the series, so they take up a fraction of the time and storage space to create compared to Full backups.

      Scheduled backup series

      Every Scheduled backup series starts with a Full backup and then uses Incremental backups for each subsequent backup over the configured time period. Scheduled backups reflect all the bucket data present when Capella automatically created the last Incremental backup in the series. By utilizing both Full and Incremental backups, the Scheduled backups provide the best compromise between performance (both backup and restore) and required storage.

      Bucket Backup Retention

      A bucket’s scheduled backups are retained according to the Retention Time setting in the bucket’s Backup Schedule. On-demand backups are retained for 30 days.

      For more information about the different ways that backups can be deleted, refer to Delete a Backup.

      Administering Bucket Backups

      For information on how to create, manage, and delete bucket backups, refer to Manage Backups.

      For more information on restoring a bucket backup, refer to Restore a Backup.

      About Cluster Backups for Couchbase Capella in Own VPC

      This information is for anyone still using Couchbase Server 6.6, hosted in their own cloud provider’s VPC. It does not apply to Couchbase 7.0, hosted in Couchbase’s VPC and fully managed for you.

      For further information contact Couchbase.

      The easiest way to get started with Capella, our fully managed DBaaS, is hosting in Couchbase’s Cloud.

      Capella supports automatic and manual cluster backups for clusters hosted in your own Cloud provider. Automatic backups are mandatory for all such clusters in Capella, and upon successful deployment, a cluster will begin to take automatic backups according to a default schedule. Each cluster’s automatic backup schedule can be modified at any time to better fit the needs of the cluster. In addition, manual backups can also be created at any time.

      Couchbase Capella uses its own backup utility and does not utilize or support the native snapshot capabilities of your cloud provider. When a backup or restore job starts, Capella launches a separate compute instance that is specifically dedicated to running the backup utility for that particular backup job. Since the backup utility runs in a separate instance and connects to the cluster over the cloud network, it has minimal impact on cluster performance. Once the job has finished, the instance running the backup utility is decommissioned.

      Since the backup instance is not a part of the cluster, it does not appear alongside cluster nodes in areas such as the cluster’s Services tab. However, you can view the instance in your cloud provider’s console. In AWS, for example, the EC2 instance uses the same naming scheme as the nodes in the cluster, except that it has dbbackup appended to it.

      The only backup-related infrastructure that remains between jobs is a persistent volume, which is only utilized for automatic backups (not manual backups or restores).

      Contents of a Cluster Backup

      Things that are included in a cluster backup:
      • All data in all buckets

      • Index definitions

        Although index definitions are included in cluster backups, they are only re-created when restoring from a backup, not rebuilt. Refer to Restoring Indexes for more information.
      Things that are not included in a cluster backup:
      • Point-in-time snapshot of the entire cluster

        Capella does not currently support point-in-time snapshots of cluster data. While the data in a cluster backup is per-item consistent, the data items are written to the backup at slightly different times, and therefore the state of one item does not infer the state of another item.

      • Cluster settings

      Backup Types

      Couchbase Capella supports three types of backups: Full, Incremental, and Series.

      Full backups

      A Full backup provides the best restore performance, but takes the most time to complete, requires the most storage, and puts the most theoretical strain on cluster resources. Full backups can generally be expected to be ~40% of the size of the original data set.

      Incremental backups

      An Incremental backup is a required part of a Series backup. Incremental backups will only ever appear within Series backups, because they are dependent on a Full backup in order to be restored. Incremental backups only include the data that has changed since the last backup in the series, and thus only take a fraction of the time and storage space to create. When restoring a Series backup, the Full backup and all associated Incremental backups are restored.

      Series backups

      A Series backup is a combination of a Full backup and one or more Incremental backups. Each Series backup starts with a Full backup, and then uses Incremental backups for each subsequent backup over a set period of time. The Incremental backups only include the data that has changed since the last backup in the series, and thus only take a fraction of the time and storage space to create. By utilizing both Full and Incremental backups, the Series backup type provides the best compromise between performance (both backup and restore) and required storage.

      A Full backup and a Series backup each provide a complete backup of all bucket data. A Full backup is a reflection of all the bucket data that was present when the backup was created. A Series backup is a reflection of all the bucket data that was present when the last Incremental backup in the series was created.

      Backup Retention

      All of a cluster’s backups are retained according to the Backup Retention setting in the cluster’s Autosave Schedule. This includes both automatic and manual backups.

      Backups are stored separately from the cluster within the connected cloud, and they are not deleted when the cluster is deleted. Backups will continue to be retained according to the Backup Retention setting that was configured at the time the cluster was deleted.

      For more information about the different ways that backups can be deleted, refer to Delete a Backup.

      Administering Cluster Backups

      For information on how to create, manage, and delete cluster backups, refer to View and Manage Backups for Couchbase Capella in Own VPC.

      Restoring a Cluster From a Backup

      Cluster backups can be restored in the following ways:

      • Restore a backup to the same cluster (if it is healthy)

      • Restore a backup to a different cluster (destination cluster must be healthy; both clusters must be in the same connected cloud)

      For more information on restoring a cluster backup, refer to Restore a Backup in Own VPC.