Backup: Complete, Differential, Incremental
A backup is a copy of a set of data.
But what are the criteria regulating the copy process?
hat file are taken into account in a backup? With which criteria?
There are basically three types of backup: complete, differential and incremental. Each of them describes a backup method based on certain criteria, with pros and cons.
A complete backup, or full backup, is the copy of all blocks which a file is made up with, therefore also of those blocks that aren't modified: it's a total copy. Each file is made up by "bricks" (blocks indeed) of pre-determined sizes; the modification of a file consists in the modification of one or more blocks. To make an analogy, a complete backup is like the complete transcription of a diary, from the first day up to the actual. A complete backup is demonstrated by the following image.
The main advantage is that a restore only needs the backup you want to restore; on the other hand, a complete backup, being a total copy of files, always requires the maximum disk space, which is equal to the sum of the sizes of each files, and the greater time for execution and computational resources.
An incremental backup copies blocks that changed since the last available backup: in the diary analogy, it's like copying only pages written since the last copy.
In order to restore an incremental backup, you need both the reference complete backup and all incremental backups up to the chosen one: if, for instance, you want data from day 4, then you need the incremental backups of days 2, 3 and 4 (in addition to the reference complete backup of day 1). Quick execution time and limited sizes compared to a full backup are the main advantages of such backup type, as only the differences between the current state and the last backup are copied. The main disadvantage is that a restore needs all halfway backups, therefor is a backup gets corrupted, all the subsequent are corrupted as well.
Similarly to an incremental backup, a differential backup only copies changed blocks, but the reference backup changes: while an incremental backup copies only those blocks that have changed with respect to the last backup, a differential backup copies those blocks that have changed with respect to the reference complete backup. Following our usual analogy, it's like the copy of all the pages of the diary written since a reference date.
As the incremental backup, the advantages of a differential backup are about in the quick execution and lower disk space requests than a complete backup; however it asks for greater computational resources and more time than an incremental backup, but the restore process is quicker as only two copies are needed -the reference complete backup and the differential backup- and not all the halfway copies and the reference complete one. As a consequence, the corruption of a backup determines the impossibility of restoring only that very backup and not the subsequent ones too.
THE BEST BACKUP
Once analyzed the three types of backups, the question "Which one is the best backup?" certainly arises. A complete backup offers simplicity and quick restores as nothing else is need, but sizes can be a problem. For instance, if you plan to backup 10GB of data, then you need 70GB for a week of backups, that is 7 times the original size. An incremental backup copies only changes instead, so if each day 100MB of data is changed, then you need 10G + 6x100MB ~ 11GB for a week of backups, with a reference complete backup on Monday. The restore needs the reference complete backup and all halfway incremental ones.
1Backup offers complete, incremental and differential backups. Incremental backups are best suited to most requests, according to our experience. An initial complete backup, which is considered as reference backup for the restore, is paired with incremental backups which generally have small sizes if compared to the complete backup one's, so transmission via Internet on our servers is made easier.