What is the difference between crash-consistent and application-consistent backups of virtual servers?
A crash-consistent backup set means the backup captured all of the virtual machine's data at exactly the same time. This is how essentially all modern backup software functions. Crash-consistent backups are fine and work well for the most part for nondatabase applications. When a crash-consistent backup is recovered and restored, the data is in the identical state it was in at the time of the backup.
Crash-consistent backups don't work nearly as well for database applications because they do not capture data in memory or any pending I/O operations. As such, restoring from a crash-consistent backup requires extra work, such as journaling forward, before an application can be brought back online.
In addition to providing a crash-consistent backup, application-consistent backups also capture all data in memory and all transactions in process. This is performed by using some type of client software co-resident with the database application or, in the case of Microsoft Windows and Hyper-V, the VSS API, to quiesce the database application, flush its memory cache, complete all its writes in order and then perform the backup.
When the backup or snapshot is complete, the software notifies the database application to resume. A restoration of an application-consistent backup requires no additional work to restore the database application.
Dig Deeper on Data backup and recovery software
Related Q&A from Marc Staimer
There are stark differences among file sharing protocols NFS, CIFS and SMB. Compare access, application deployment, configuration and security, among... Continue Reading
Storage elasticity is less well known than scalability, but it helps admins with efficiency and cost. Both elasticity and scalability are key to ... Continue Reading
Latency in object stores that stems from a large amount of metadata means the technology is better suited to non-transactional data. Continue Reading