Database Log Restoration via Page-Level Transaction Application
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Restoring a database from a log volume is computationally intensive and results in extended downtime, making the database system unavailable to users for extended periods.
Innovation Solution
The database system reads transaction log records, identifies affected columns, loads pages and dictionaries, and applies these records directly to the pages and dictionaries, then writes the modified data to storage during savepoint operations, reducing computational costs and downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the database system restores from a log volume using traditional methods, then data consistency is ensured, but the restoration process becomes computationally intensive and causes extended downtime
Solution Approach 1:
The patent segments the database table into multiple page containers and processes transaction log records at the page level rather than reconstructing entire tables. This segmentation allows parallel processing of different pages and reduces the computational burden, enabling faster restoration while maintaining data consistency through controlled transaction application.
Solution Approach 2:
The patent performs preliminary actions by pre-loading page containers into memory and preparing the database structure before applying transaction log records. This preliminary setup includes allocating page containers, initializing dictionaries, and organizing the target structure, which accelerates the subsequent restoration process while ensuring data consistency through controlled transaction application.
2Reliability
If the database system restores from a log volume using traditional methods, then data consistency is ensured, but the computational cost increases significantly
Solution Approach 1:
The patent segments the database table into multiple page containers and processes transaction log records at the page level rather than reconstructing entire tables. This segmentation allows parallel processing of different pages and reduces the computational burden, enabling faster restoration while maintaining data consistency through controlled transaction application.
Solution Approach 2:
The patent uses page containers as temporary in-memory copies of database pages during the restoration process. These copies allow the system to apply transaction log records without repeatedly accessing disk storage, reducing I/O operations and computational cost while ensuring data consistency through controlled transaction application to the copies.
3Reliability
If the database system applies transaction log records to reconstructed tables, then data consistency is maintained, but the restoration process is slow and computationally intensive
Solution Approach 1:
The patent segments the database table into multiple page containers and processes transaction log records at the page level rather than reconstructing entire tables. This segmentation allows parallel processing of different pages and reduces the computational burden, enabling faster restoration while maintaining data consistency through controlled transaction application.
Solution Approach 2:
The patent maintains continuous useful action by keeping page containers in memory and applying transaction log records continuously without repeated disk I/O operations. The system processes transactions in a continuous stream, applying them to in-memory page containers and flushing to disk only when necessary, thereby maximizing restoration speed while maintaining data consistency.
Data Source
AI summary
Disclosed herein are system, method, and computer program product embodiments for directly restoring a database from a log volume. An embodiment operates by reading one or more database transaction log records from a log volume. The embodiment then loads from a database table persistent storage one or more pages containing rows in the database table that will be read from or written to by the one or more database transaction log records. The embodiment then loads a dictionary for each column associated with the one or more database transaction log records. The embodiment then applies the one or more database transaction log records directly into the one or more loaded pages and the one or more dictionaries. Each dictionary and page modified in memory is then written to the database table persistent storage when a savepoint operation is performed.


