Online Database Restore Using Snapshots and Logs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current database restoration methods are inefficient and inflexible, requiring offline operations and relying on archival storage for previous states, which hinders rapid error correction and testing in database development.
Innovation Solution
Implementing online restore capabilities for database engines that utilize stored snapshots and change logs to revert the database to a previous state without offline operations, allowing for rapid reversal of changes and testing while maintaining database availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If offline restore operations are used with archival storage, then database restoration is possible, but the restore speed is slow and database availability is lost
Solution Approach 1:
The system performs preliminary actions by creating and storing snapshots of the database at specific points in time. These snapshots are prepared in advance and stored in readily accessible storage, so when a restore operation is needed, the database can be quickly reverted to a previous state without requiring slow archival retrieval processes.
Solution Approach 2:
The patent introduces an intermediary mechanism (snapshot storage system) that sits between the database and archival storage. This intermediary maintains recent database states in fast-access storage, enabling rapid restore operations without directly accessing slow archival storage systems, thus resolving the contradiction between restore speed and storage capacity.
2Adaptability or versatility
If offline restore operations are performed, then database state can be reverted, but database availability is disrupted
Solution Approach 1:
The system implements dynamic restore capabilities that allow the database to remain accessible during restore operations. By using snapshots and change logs, the system can apply changes incrementally while the database remains online, allowing users to continue accessing the database while restoration occurs in the background.
Solution Approach 2:
The patent enables continuity of useful action by maintaining database availability during restore operations. The snapshot-based approach allows the database to remain operational while restoration processes occur, ensuring that business operations continue uninterrupted while the database is being restored to a previous state.
3Reliability
If archival storage is used for previous database states, then restore capability is provided, but restore flexibility and speed are limited
Solution Approach 1:
The system segments the storage architecture into multiple tiers: hot storage for recent snapshots, warm storage for older snapshots, and cold archival storage for historical data. This segmentation allows frequently accessed restore points to be available immediately while maintaining long-term restore capability, thus improving both reliability and productivity without requiring all data to be in fast storage.
Solution Approach 2:
The patent changes the parameter of storage accessibility by implementing a tiered storage system with different access speeds. Recent snapshots are stored in fast-access storage for immediate restore operations, while older snapshots are moved to slower archival storage. This parameter change optimizes the balance between restore capability and development efficiency by making frequently needed restores fast while maintaining long-term archival capability.
Data Source
AI summary
Online restore operations for a database engine can be performed. A request to restore a database to a previous state can be received. Previously stored content of the database, such as snapshot stored prior to the previous state, can be identified along with log records describing changes to be made to the content prior to the previous state. State information in a query engine can be updated based on the previously stored content and log records so that queries can be processed based on the state information at the database restore to the previous state.


