Backup and Restore Cluster Data

    For production clusters, as part of an overall disaster recovery plan, you should configure a robust automatic backup schedule and retention policy. This helps ensure that you do not lose data in the event of a serious failure and minimizes data inconsistency when a restore is required.

    Couchbase Cloud supports automatic and manual backups of cluster bucket data. Backups are taken on a per-cluster basis, and all clusters are deployed with a pre-configured backup schedule that is enabled by default. Cluster data can be restored from backups in the event of data loss.

    About Cluster Backups

    Couchbase Cloud supports automatic and manual cluster backups. Automatic backups are mandatory for all clusters in Couchbase Cloud, 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 Cloud 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, Couchbase Cloud 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

      Couchbase Cloud 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 Cloud 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.

    Administrating Cluster Backups

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

    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.