Enterprise Backup Strategies

Enterprise Backup Strategies

Backing up data is an important part of any production database deployment. This section describes the most common cbbackupmgr backup strategies and also provides recommendations for how and where to run cbbackupmgr. To describe each strategy, we will assume that you want to back up your cluster daily, but you can easily modify all the strategies to accommodate different backup intervals.

Note: The following strategies refer to taking a full backup even though cbbackupmgr is an incremental-only tool. The phrase "full backup" is used to refer to the first backup taken in a backup repository.

Periodic Merge

The recommended backup strategy for cbbackupmgr is the Periodic Merge strategy. This backup strategy is intended to have the lowest cluster overhead and require the least amount of time. The periodic merge strategy takes full advantage of the fact that cbbackupmgr only takes incremental backups as well as its ability to merge incremental backup. In a Periodic Merge strategy we would take an incremental backup each day as follows:

Sunday:    Config Backup Repo    (0 backups in backup repo) 
Sunday:    Backup 1              (1 backup in backup repo) 
Monday:    Backup 2              (2 backups in backup repo) 
Tuesday:   Backup 3              (3 backups in backup repo) 
Wednesday: Backup 4              (4 backups in backup repo) 
Thursday:  Backup 5              (5 backups in backup repo) 
Friday:    Backup 6              (6 backups in backup repo) 
Saturday:  Backup 7              (7 backups in backup repo) 
Sunday:    Backup 8              (8 backups in backup repo) 
Sunday:    Merge 1-7             (2 backups in backup repo) 
Monday:    Backup 9              (3 backups in backup repo) 
Tuesday:   Backup 10             (4 backups in backup repo) 
Wednesday: Backup 11             (5 backups in backup repo) 
Thursday:  Backup 12             (6 backups in backup repo) 
Friday:    Backup 13             (7 backups in backup repo) 
Saturday:  Backup 14             (8 backups in backup repo) 
Sunday:    Backup 15             (9 backups in backup repo) 
Sunday:    Merge 7-14            (2 backups in backup repo) 

Each day we increase the amount of incremental backups in the backup repository, but in order to reclaim space, we merge the incremental backups from the previous week on Sundays. This strategy is effective because incremental backups are the quickest way to back up a cluster and when we need to consolidate the data we can do so without using any cluster resource. This strategy is useful because as data grows it may become infeasible to back up the entire cluster in a reasonable amount of time. By always taking incremental backups and merging at a later time, we can completely avoid full cluster backups.

Full/Incremental Approach

The Full/Incremental Approach is similar to the Periodic Merge strategy, but has one key difference. Instead of relying on the merge feature to merge backups together we create a new backup repository periodically and back up the entire cluster again. We then take incremental backups daily. Below is an example of what this strategy would look like:.

Sunday:    Config Backup Repo 1  (0 backups in backup repo) 
Sunday:    Backup 1              (1 backup in backup repo) 
Monday:    Backup 2              (2 backups in backup repo) 
Tuesday:   Backup 3              (3 backups in backup repo) 
Wednesday: Backup 4              (4 backups in backup repo) 
Thursday:  Backup 5              (5 backups in backup repo) 
Friday:    Backup 6              (6 backups in backup repo) 
Saturday:  Backup 7              (7 backups in backup repo) 
Sunday:    Config Backup Repo 2  (0 backup in backup repo) 
Sunday:    Backup 8              (1 backups in backup repo) 
Monday:    Backup 9              (2 backups in backup repo) 
Tuesday:   Backup 10             (3 backups in backup repo) 
Wednesday: Backup 11             (4 backups in backup repo) 
Thursday:  Backup 12             (5 backups in backup repo) 
Friday:    Backup 13             (6 backups in backup repo) 
Saturday:  Backup 14             (7 backups in backup repo) 
Sunday:    Create Backup Repo 3  (0 backups in backup repo) 
Sunday:    Backup 15             (1 backup in backup repo) 

In this strategy we don't use the merge command, but instead rely on creating a new backup repository each week on Sunday. In order to free up space in this strategy we would delete old backup repositories once they are deemed to be too old to be useful. This strategy is useful for small to medium sized clusters due to the requirement to take full backups.

Full Backup Only

In this strategy we only take full backups. This strategy is only useful for small clusters and puts the most strain on the cluster compared to other strategies. A backup strategy using only full backups would look like this:

Sunday:    Config Backup Repo 1  (0 backups in backup repo) 
Sunday:    Backup 1              (1 backup in backup repo) 
Monday:    Config Backup Repo 2  (0 backups in backup repo) 
Monday:    Backup 2              (1 backup in backup repo) 
Tuesday:   Config Backup Repo 3  (0 backups in backup repo) 
Tuesday:   Backup 3              (1 backup in backup repo) 
Wednesday: Config Backup Repo 4  (0 backups in backup repo) 
Wednesday: Backup 4              (1 backup in backup repo) 
Thursday:  Config Backup Repo 5  (0 backups in backup repo) 
Thursday:  Backup 5              (1 backup in backup repo) 
Friday:    Config Backup Repo 6  (0 backups in backup repo) 
Friday:    Backup 6              (1 backup in backup repo) 
Saturday:  Config Backup Repo 7  (0 backups in backup repo) 
Saturday:  Backup 7              (1 backup in backup repo) 
Sunday:    Config Backup Repo 8  (0 backups in backup repo) 
Sunday:    Backup 8              (1 backup in backup repo)