Database Restore Interception for Near-Instantaneous Recovery
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern databases, often reaching multi-terabytes in size, require lengthy restore times from backups, leading to revenue loss and customer confidence issues for organizations needing constant availability.
Innovation Solution
A system intercepts database restore requests, tricks the database management system into believing fewer data pages exist, allowing a near-instantaneous restore by copying only the log records and completing the recovery phase quickly, then asynchronously transferring the rest of the data pages while maintaining database availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a traditional database restore process is used to restore a multi-terabyte database from a backup file, then the database can be restored with complete data integrity, but the restore time can take tens of minutes, hours, or even days
Solution Approach 1:
The restore process is segmented into two distinct phases: (1) a fast initial phase that restores only the transaction log and metadata to bring the database online immediately, and (2) a background phase that continues copying the remaining data pages asynchronously. This segmentation allows the database to become operational quickly while completing the full restore in the background, resolving the contradiction between fast restore and complete data recovery.
Solution Approach 2:
The system performs preliminary actions by restoring only the essential components (transaction log and metadata) needed for database operation before the complete data restore is finished. This preliminary restore enables the database to come online immediately, and the remaining data pages are transferred in the background without blocking database operations.
2Reliability
If the database management system copies all data pages from the backup file during restore, then the database is fully restored, but the restore process takes an unacceptably long time for multi-terabyte databases
Solution Approach 1:
The invention extracts and separates the critical restore components (transaction log and metadata) from the bulk data pages. By taking out only the essential elements needed for immediate database operation, the system achieves fast restore speeds while the complete data restore continues asynchronously in the background, ensuring both speed and completeness.
Solution Approach 2:
The system performs a partial restore initially, restoring only the minimum necessary data (transaction log and metadata) to enable database operation. This partial action allows the database to come online quickly, and the remaining data pages are restored in the background, achieving both fast initial availability and complete eventual restoration.
3Reliability
If the database is taken offline for a complete restore, then the restore can be performed without interference, but organizations experience revenue loss and customer confidence issues due to downtime
Solution Approach 1:
The system performs a preliminary restore of the transaction log and metadata before the database needs to be fully operational. This preliminary action allows the database to come online immediately while the complete data restore continues in the background, eliminating downtime and ensuring both availability and eventual restore completeness.
Solution Approach 2:
The restore process maintains continuity by allowing the database to remain online and operational throughout the restore process. The initial phase brings the database online quickly, and the data page copying continues asynchronously in the background without interrupting database operations, ensuring continuous useful action and eliminating downtime.
Data Source
AI summary
Some embodiments provide methods and apparatuses for performing a near-instantaneous restore of a database. During operation, the system intercepts a database management system restore request to restore a database from a backup file to a data file, wherein the backup file comprises a first number (e.g., N1) of data pages. Next, in response to intercepting the database management system restore request, the system sends information to the database management system indicating that the backup file comprises a second number (e.g., N2) of data pages, wherein the second number of data pages is less than the first number of data pages (e.g., N2<N1). Once the database management system has copied the fewer number of data pages from the backup file to the data file, the database management system may indicate that the restore is complete, and continue processing database requests as if the database management system was back online.


