Synthetic Database Snapshots for Faster Recovery Without Production Load
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing virtualization technologies face challenges in maintaining recovery time objectives (RTOs) due to the resource-intensive process of acquiring database snapshots from production databases, which can impact performance and hinder instantaneous recovery mechanisms in virtualized environments.
Innovation Solution
The generation and storage of synthetic snapshots within a storage appliance, using compatible database engines to create snapshots locally from transaction logs, reducing the burden on production databases and enabling rapid recovery by generating snapshots during blackout windows or when production databases fail to provide them.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database snapshots are acquired from production databases, then recovery time objective is improved, but production database performance deteriorates
Solution Approach 1:
The patent creates synthetic snapshots by copying and applying transaction logs to existing snapshots, rather than acquiring snapshots directly from the production database. This eliminates the performance impact on production systems while maintaining the ability to restore data at specific points in time, thus improving RTO without degrading production performance.
Solution Approach 2:
The system introduces an intermediary mechanism that captures transaction logs separately and applies them to snapshots in a controlled environment. This intermediary approach allows recovery operations to proceed without directly burdening the production database, resolving the contradiction between reliable recovery and production performance.
2Speed
If snapshots are acquired frequently to meet RTO, then recovery speed is improved, but resource consumption on production database increases
Solution Approach 1:
The system performs preliminary actions by maintaining a chain of snapshots and pre-applying transaction logs to create synthetic snapshots. These snapshots are prepared in advance and stored ready for immediate recovery operations, enabling fast recovery without requiring frequent resource-intensive snapshot acquisitions from the production database at recovery time.
Solution Approach 2:
Instead of acquiring new snapshots from production, the system copies existing snapshots and applies transaction logs to create synthetic versions. This copying approach enables frequent snapshot availability for recovery without the resource overhead of actual production database snapshot operations.
3Manufacturing precision
If transaction logs are applied extensively to restore database, then data accuracy is improved, but recovery time increases
Solution Approach 1:
The system performs preliminary application of transaction logs to create synthetic snapshots in advance. When recovery is needed, the pre-computed synthetic snapshots are already available with transaction logs partially or fully applied, significantly reducing the recovery time while maintaining data accuracy through the use of actual transaction log data.
Solution Approach 2:
The recovery process is segmented into multiple snapshot points along a snapshot chain. Instead of applying all transaction logs from scratch, the system can restore to the nearest synthetic snapshot and apply only the remaining logs, dividing the recovery task into smaller segments that reduce overall recovery time while preserving data accuracy.
Data Source
AI summary
Methods and systems for reducing the amount of time to restore a database or other application by dynamically generating and storing synthetic snapshots are described. When backing up a database, an integrated data management and storage system may acquire snapshots of the database at a snapshot frequency and acquire database transaction logs at a frequency that is greater than the snapshot frequency. In response to detecting that the database is unable to provide a database snapshot, the integrated data management and storage system may generate a synthetic snapshot of the database by instantiating a compatible version of the database locally, acquiring a previously stored snapshot of the database, applying data changes from one or more database transaction logs to the previously stored snapshot to generate the synthetic snapshot, and storing the synthetic snapshot of the database within the integrated data management and storage system.


