Differences between snapshots and continuous data protection.
On the surface, these two approaches to data protection share much in common. Upon closer examination, however, important distinctions emerge. Snapshots.
According to the Storage Networking Industry Association (SNIA), snapshots are copies of data as it appeared at a specific point in time. In other words, a frozen picture of a data set--an Oracle database or a home file system, for instance--at one specific point in time.
The many implementations of snapshot functionality fall into one of two general categories: full or differential copy.
A full copy snapshot replicates the data set in its entirety. Often implemented via a process called mirror splitting, a full copy snapshot of a 3 terabyte database consumes an additional three terabytes of disk space.
A differential snapshot manages only deltas that have occurred since the snapshot was last taken. It uses less disk space but requires more processing overhead. There are a number of differential snapshot technical implementations--Copy on Write (CoW), Redirect on Write (RoW), and Write Anywhere (WA).
The important differences between these various snapshot methods lie in storage cost and performance. Additionally, since full copy snapshots don't depend on the main data store they tend to be more resilient to certain types of corruption.
Snapshot Value Propositions
Snapshots can be created quickly, and used as a source for traditional backup and archiving. Since the window of downtime or application interruption is reduced to the time it takes the snapshot to be created, snapshots can reduce or eliminate backup windows.
Snapshots are stored on disk, which provides fast, direct access rather than the slower mechanical streaming access provided by tape. Restore from disk, sometimes with the benefit of differential maps that negate the need to copy the entire data set, is faster than tape. The time it takes to recover is often referred to as the recovery time objective (RTO).
Multiple Recovery Points
Many times the effects of data corruption are delayed. A snapshot created at noon is of no use if the corruption occurred at 11:59 a.m. Therefore, it is important to have flexible and frequent recovery points, or recovery point objectives (RPO). Customers sometimes implement rotating or revolving snapshots to achieve higher granularity of RPOs. However, these additional snapshots come at a significant additional cost.
Often the user wants to perform ancillary operations that are too costly or disruptive to run on the production system. These might include audit prior to archiving, reporting, application or upgrade testing, data mining, etc. Snapshots provide a copy of near live data for these operations.
Continuous Data Protection (CDP)
The key word in "Continuous Data Protection" is continuous. CDP provides a continuum of recovery points for a given data set--offering the ability to access ANY point in time, not just those specific times predetermined by a snapshot process. CDP allows the restoration of applications to just prior to specific events instead of restoring to a pre-determined point in time. The restoration point is selected and dynamically recreated after the event occurs.
CDP provides infinitely granular recovery points (RPO) and some implementations can provide near instant recovery times (RTO). This is because CDP protection is typically done on a write transaction by write transaction basis. Every modification of data is recorded and the recovery can occur to any point, down to the demarcation of individual write operations.
An important aspect of CDP protection is atomicity. Copy operations on single point in time images lack atomicity across entire datasets by default. There are complex methods which can be utilized to attempt consistency, but in most cases, single point in time technologies cannot deliver atomicity. This means that the application must be impacted to create a recovery point. The application is typically quiesced in some way while a snapshot is taken. This process is complicated and failure-prone.
CDP-based restoration provides atomicity, offering a holistic data set which can be recovered whether or not an application was quiescent at the moment of recovery. This capability--often termed crash consistent recovery--is the same recovery modality used in fault tolerant and high availability systems.
Because atomicity in inherent to CDP, it enables very powerful and easy-to-use restoration processes.
Some CDP implementations allow their RPO options to devolve over time. Any-point-in-time recovery is provided for a time period set by policy, while later periods are recoverable only from specific stored recovery points. CDP systems with this capability can extend their recovery timeline while reducing their storage capacity needs.
CDP Value Propositions
Like snapshots, CDP eliminates the backup window. Unlike most snapshots, CDP can do so atomically with no application interaction or involvement. Because of the dynamic and non-destructive nature of CDP recovery, the user is able to audit the backup without jeopardizing the integrity of the content.
Unlike snapshots, CDP images are not single fixed points in time that must be made, managed and stored. CDP images are created at will. This allows for a much wider degree of backup operations to be preformed. With a CDP system, for instance, it is possible to run the midnight backup at 7 a.m. after having audited the condition and recoverability of the data as it existed at midnight, or just because it allows the day staff to perform the backup.
CDP systems fall into two categories regarding recovery. The first set offer virtualized recovery, which means near-instant restoration. Virtualized recovery allows for the data movement part of a recovery to be attended to after the application data is made available for use--after the customer systems are back online and operational. There is nothing faster from a recovery time objective standpoint than a CDP product that offers virtualized recovery.
The other possibility is known as directional recovery--also known as roll back or roll forward recovery. This recovery method uses redo or rollback logs of write operations to move the application data back in time. The recovery times in this system are dependent on how far back in time the restore operation is targeting, but typically is the same as or much faster than a snapshot restoration depending on the snapshots ability to use differential maps.
Multiple Recovery Point Objectives
CDP delivers infinite RPOs, while snapshot systems deliver individual RPOs. Some vendors recommend attempting to approximate the RPO capability of CDP by creating many snapshots. This is typically unattractive as each snapshot is another object that needs to be created (with application involvement), stored and managed (non-trivial and costly). In other words, snapshots require the user to predetermine potential restoration points before the failure event, and then to manage each predetermined point. CDP allows the user to dynamically recreate any previous point of the data, and to do so after the failure occurred--so the recovery point can be pinpointed to just before the failure event.
Additionally, most CDP solutions provide the ability to annotate a timeline with specific events or special times in the history of the data, which gives the user the ability to restore to any specific point in time, as well as anything in between these marked times.
CDP provides atomic data sets for repurposing with far more flexibility than snapshots. The data image is created dynamically with CDP, can be recreated repeatedly, can be audited, saved and archived independent of the main line data store, and can be used as a single solution to deliver data to multiple re-purposing activities.
More than just media hype, CDP is now in regular use at mainstream data centers because it offers all the inherent benefits of snapshots, plus far more granular recovery points and much faster recovery times.
When zero downtime and zero data loss is the objective, CDP is the only real option.
Michael Rowan is founder and chief technology officer (CTO) of Revivio, Inc.