A differential backup is a type of data backup that preserves data, saving only the difference in the data since the last full backup. The rationale in this is that, since changes to data are generally few compared to the entire amount of data in the data repository, the amount of time required to complete the backup will be smaller than if a full backup was performed every time that the organization or data owner wishes to back up changes since the last full backup. Another advantage, at least as compared to the incremental backup method of data backup, is that at data restoration time, at most two backup media are ever needed to restore all the data. This simplifies data restores as well as increases the likelihood of shortening data restoration time.
A differential backup is a cumulative backup of all changes made since the last full backup, i.e., the differences since the last full backup. The advantage to this is the quicker recovery time, requiring only a full backup and the last differential backup to restore the entire data repository. The disadvantage is that for each day elapsed since the last full backup, more data needs to be backed up, especially if a significant proportion of the data has changed, thus increasing backup time as compared to the incremental backup method.
It is important to use the terms "differential backup" and "incremental backup" correctly. The two terms are widely used in the industry, and their use is universally standard.[1] A differential backup refers to a backup made to include the differences since the last full backup, while an incremental backup contains only the changes since the last incremental backup. (Or, of course, since the last full backup if the incremental backup in questions is the first incremental backup immediately after the last full backup.) All the major data backup vendors have standardized on these definitions.[2][3]
The difference between incremental and differential backups can be illustrated as follows:[1]
Day | Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
---|---|---|---|---|---|---|---|---|
Backup type | Full | Incremental | Incremental | Incremental | Incremental | Incremental | Incremental | Full |
Effect | N/A | Changes since Sunday | Changes since Monday | Changes since Tuesday | Changes since Wednesday | Changes since Thursday | Changes since Friday | N/A |
The above assumes that backups are done daily. Otherwise, the “Changes since” entry must be modified to refer to the last backup (whether such last backup was full or incremental). It also assumes a weekly rotation.
Day | Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday |
---|---|---|---|---|---|---|---|---|
Backup type | Full | Differential | Differential | Differential | Differential | Differential | Differential | Full |
Effect | N/A | Changes since Sunday | Changes since Sunday | Changes since Sunday | Changes since Sunday | Changes since Sunday | Changes since Sunday | N/A |
It is important to remember the industry standard meaning of these two terms because, while the terms above are in very wide use, some writers have been known to reverse their meaning. For example, Oracle Corporation uses a backward description of differential backups in their DB product as of May 14, 2015:
"Differential incremental backups - In a differential level 1 backup, RMAN backs up all blocks that have changed since the most recent cumulative or differential incremental backup, whether at level 1 or level 0. RMAN determines which level 1 backup occurred most recently and backs up all blocks modified after that backup. If no level 1 is available, RMAN copies all blocks changed since the level 0 backup."[4]
Original source: https://en.wikipedia.org/wiki/Differential backup.
Read more |