Database Recovery via Dynamic Secondary Structure Ranking

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improverecovery timeVSAvoiddatabase throughput
Core Design Contradiction:
Loss of timeVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvedata integrityVSAvoidrequest throughput
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9720774B2Adaptive recovery for SCM-enabled databases
Publication Date: 2017.08.01 SAP SE
  • US9720774B2 patent drawing
  • US9720774B2 patent drawing
  • US9720774B2 patent drawing

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.