Single vs Multi-Tier Backup
Most backup software available in the market today follow the single-tier design architecture. This page
discusses the differences as well as pros and cons of the two design approach.
|One machine is responsible for reading the source and writing to destination
||Two machines are involved. One machine reads from the source, while another machine writes to the destination
|Typically, the entire file is rewritten from source to destination, even if only a small part of the file is modified
||Has the ability to transfer the modified part within a file, which is known as delta. This is done by dividing a file
into multiple blocks and computing checksum signatures on both ends.
|Geared towards a single-user environment
||Geared towards a multi-user environment
|Well suited for backups where the source and destination are close to each other, such as a USB drive
||Well suited for situations where source and destination are far apart. For example, across the Internet
|Backed up files are normally not accessible from the Internet without help from a third-party
||Files can be accessed from anywhere, simply by using a web browser
|It is static. The source and destination must always be connected to each other. For example,
your work laptop could only be backed up when you're in the office, or close to where the destination is
||It is dynamic. The source machine can be moved relative to the destination. For example,
users can be on the road and will still be able to run backups to the central server from anywhere
|Encrypting data on the target is typically not necessary
||Encryption is normally required on the target since data resides on a machine that can be accessible to other individuals
|Typically, no provision to synchronize multiple machines.
||Folders on multiple machines can be synchronized through the central repository
|Files on the destination serves just one purpose: backup
||Backup repository can serve for purposes other than just backup. For example, it could be used to share files
Remote Backup with Single-Tier
Many companies offer remote backups even with a single-tier backup. For example, where destination is:
- Stored on a public cloud
- An FTP server
It is important to understand what happens in the background. In both cases, the backup is sent in its entirety. For
example, when backing up a 1GB file to this remote destination, the entire 1GB will be transferred every time even if a
small portion of the file is modified. This is because the receiving end does not get involved in determining the blocks
that are modified.
Sending the entire file whenever a small portion changes does not work with larger files as it uses tremendous amount of bandwidth.
Why Single-Tier systems cannot do block-level backup
A block-level backup requires following steps:
- Every file is broken down into many blocks (typically over 100,000). These blocks are created on both ends.
- Checksums for these blocks are compared to create a delta.
- The Delta is sent to the destination
- The destination server merges incoming delta with the actual file
There is no way to calculate checksums of the blocks on a remote machine without reading the entire file, which means the remote data must come to the local machine. Moreover, there
is no way to merge the incoming delta on the destination without a local process on the other end. Therefore, it is not possible
to do a block-level backup using a single-tier backup system to a remote destination.
Consider the following benefits that exist in addition to block-level backup.
|Ability to access files remotely
||In addition to providing file storage, the destination in a multi-tier backup can offer other features like ability to access file
via a web interface. Allowing users to access their data from any browser or mobile device
||Reports can be triggered when an expected backup does not occur. For example, if a user shuts down their machine before leaving for home on a Friday,
a single-tier backup will simply not run. A multi-tier backup, on the other hand, can generate alerts notifying the administrator about this event.
||The web-based interface in a multi-tier backup can allow administrators to remotely trigger a backup job or get diagnostic logs
from a centralized console rather than explicitly connecting to each individual machine.