Database Recovery via Dynamic Secondary Structure Ranking
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database recovery in modern systems using Storage Class Memory (SCM) compromises database throughput due to higher read and write latencies compared to DRAM, as performance-enhancing data structures are stored in SCM, leading to slower rebuild of secondary data structures during recovery.
Innovation Solution
An approach that characterizes database data structures based on their relationship to the workload and determines an order of recovery to minimize the impact of recovery on request throughput, using a ranking system to prioritize rebuilding secondary data structures based on pre-crash, crash-time, and current workloads, and dynamically allocating resources between recovery and query processing.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If performance-enhancing data structures are stored in SCM to enable fast recovery, then recovery time is improved, but database throughput deteriorates due to higher read and write latencies
Solution Approach 1:
The patent segments data structures into primary data structures (stored in SCM for fast recovery) and secondary data structures (stored in DRAM for high performance). This segmentation allows the system to recover quickly from SCM while maintaining throughput performance through DRAM-based secondary structures during normal operation.
Solution Approach 2:
The patent introduces DRAM as an intermediary layer between SCM and the database engine. Secondary data structures are maintained in DRAM to mediate between the SCM-stored primary data and the database operations, providing high-speed access while allowing fast recovery from SCM.
2Reliability
If all secondary data structures are rebuilt during recovery, then data integrity is improved, but request throughput deteriorates due to recovery operations blocking query processing
Solution Approach 1:
The patent performs preliminary actions by pre-calculating rebuild priorities and rankings of secondary data structures before recovery begins. This allows the system to immediately start rebuilding high-priority structures while maintaining query processing, rather than pausing to determine the rebuild order.
Solution Approach 2:
The patent implements dynamic resource allocation where the system continuously adjusts the balance between recovery operations and query processing based on current workload and rebuild progress. High-priority secondary structures are rebuilt first while allowing queries to proceed, dynamically optimizing both integrity restoration and throughput maintenance.
Data Source
AI summary
A system includes determination of a plurality of secondary data structures of a database to be rebuilt, determination, for each of the plurality of secondary data structures, of a current ranking based on a pre-crash workload, a crash-time workload, the post-crash workload, and a rebuild time of the secondary data structure, determination to rebuild one of the plurality of secondary data structures based on the determined rankings, and rebuilding of the one of the plurality of secondary data structures in a dynamic random access memory based on primary data of a database stored in non-volatile random access memory.


