Fully Hydrated Backup for Instant Database Restore
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Restoring a database using full and incremental snapshots requires significant storage and computational resources, and the process is time-consuming, as it involves mounting full backups and subsequent incremental backups to recreate the database state.
Innovation Solution
Implementing fully hydrated backups through a file system metadata snapshot tree that provides a complete view of a storage volume, allowing incremental backups to be directly accessed like full backups, reducing the need for rehydration and streamlining the recovery process by storing and accessing data efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If incremental snapshots are used to reduce storage requirements, then storage space is saved, but recovery time and computational resources increase
Solution Approach 1:
The patent pre-processes incremental snapshots during the backup phase by mounting them to the file system and copying necessary data blocks to a recovery directory. This preliminary action ensures that when recovery is needed, the data is already prepared and accessible, eliminating the need to sequentially mount and process each incremental snapshot during recovery, thus reducing recovery time while maintaining storage efficiency
Solution Approach 2:
The patent implements a dynamic recovery approach where the recovery process can be initiated from any point in time by selecting the appropriate base snapshot and its associated incremental snapshots. The system dynamically adjusts the recovery path based on the desired recovery point, allowing flexible and efficient restoration without requiring a fixed sequential process
2Reliability
If full snapshots are taken frequently to ensure data availability, then data recovery capability is improved, but storage requirements increase significantly
Solution Approach 1:
The patent segments the backup process into a base full snapshot and multiple incremental snapshots. The base snapshot contains the complete file system state, while incremental snapshots contain only the changes since the previous snapshot. This segmentation allows frequent backup points to be maintained with minimal additional storage, as incremental snapshots are much smaller than full snapshots
Solution Approach 2:
The patent creates a nested structure where incremental snapshots are logically nested within the base snapshot hierarchy. Each incremental snapshot is associated with a specific base snapshot and contains changes relative to that base. This nested organization allows the system to maintain multiple recovery points using a combination of one base snapshot and several incremental snapshots, significantly reducing total storage requirements compared to storing multiple full snapshots
3Quantity of substance
If incremental snapshots are stored without pre-processing, then storage efficiency is maximized, but computational resources during recovery increase
Solution Approach 1:
The patent performs preliminary mounting and data copying of incremental snapshots during the backup phase. When an incremental snapshot is created, the system mounts it to the file system and copies the necessary data blocks to a recovery directory, preparing the data in advance. This preliminary action shifts computational work from the recovery phase to the backup phase, reducing the computational burden during recovery while maintaining storage efficiency
Data Source
AI summary
A request to restore a database to a particular point in time is received. It is determined that a closest preceding backup to the particular point in time is an incremental backup. One or more transaction log file segments needed to restore the database to the particular point in time are determined. An updated incremental backup is generated by applying the one or more determined transaction log file segments to the incremental backup. The updated incremental backup is restored to a primary system.


