When talking of data protection, backup would most likely be the first thing that comes to our mind. It’s a concept that couldn’t be more familiar for us, especially today’s IT infrastructure owners, but once when we try to dig deep into the topic of backup consistency, things may start to get more confusing.
Backup data consistency means that the logical relationship between the backup data is correct and complete. If we divide backup by its level of consistency, there would be inconsistent backup, crash-consistent backup, and application-consistent backup. Some inexperienced IT administrators may think application-consistent backup can be achieved by simple data copying, which in fact is not. What’s the difference between the three types of backup? Which is the best solution for my IT system? If you ever find yourself stuck on such problems, hope this blog can help you out.
Inconsistent Backup
Inconsistent backup means to back up files when an application is still up and running, which is also called hot backup. Under this backup mode, data will just be simply copied to the backup device by order until the end. Therefore, after a backup job starts, if parts of data are changed before being copied, the changed data that creates a different point-in-time will eventually be the one that’s kept by the backup device.
Crash-Consistent Backup
Crash-consistent backup ensures all backup files have the same point in time. In case any system accidentally crashes, with crash-consistent backups, data can still be restored to the status as they were at the instant of crash. However, crash-consistent backup will not capture data in memory and any kind of pending I/O operations, which only guarantees the data consistency of system disks, but not applications at the upper level. Crash-consistent backup usually combines backup with snapshot technology to get satisfying results.
Application-Consistent Backup
Application-consistent backup is a more advanced consistent backup scheme compared with crash-consistent backup. Besides backing up written data on disk, it also captures application information including in-memory data and pending I/O operations while still ensuring all backup data have the same point in time. For applications that’re very sensitive about time like databases, it’s the only and best way to realize effective recovery.
Consistent backup is also called cold backup because database shutdown is often required, which means when a consistent backup job is running, no production data should be changed. However, in actual application scenarios, hot database backup is usually needed more by IT administrators. There’re currently 2 ways to do this:
- Flush cache data and quiesce the database with VSS writer, back up the snapshot files.
- Call the API or built-in tool of the database to achieve hot application-consistent backup.
Vinchin Backup & Recovery utilizes the second scheme to help IT administrators easily realize application-consistent backups of MySQL, SQL Server and Oracle Database in hot backup mode. The three types of databases in both physical servers and virtual machines are supported to be added in the Vinchin backup environment with simple few clicks to get configurations done. And by combining this well with crash-consistent-level VM protection, critical data in both non-database systems and database applications can both be secured in a reliable way.
Viewing from today’s enterprise-grade backup solutions, crash-consistent backup and application-consistent backup are the two most adaptive backup schemes for different business needs, and they both have their own pros and cons in actual application scenarios. You can establish your own backup plans based on the architecture type of your IT systems to make the best decision.