NVRAM In-Memory Database Recovery

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In-memory database management systems (IMDBMS) face significant recovery time challenges due to the volatility of main memory, requiring extensive reloading of checkpoint images and application of uncheckpointed transactions, which slows down the recovery process after system failures.

Innovation Solution

Implementing non-volatile random access memory (NVRAM) to store database data and control information, allowing for in-memory-based recovery by modifying surviving data instead of loading entire checkpoint images, thus reducing the need for extensive operations like reloading and applying change records.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If checkpoint-based recovery is used in IMDBMS, then data durability is ensured, but recovery time becomes extensive due to reloading entire checkpoint images and applying uncheckpointed transactions

Engineering Contradiction:
Improvedata durabilityVSAvoidrecovery time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-storing database data in NVRAM before system failures occur. This allows the database to be quickly restored after failure since the data is already in a persistent, fast-access medium, eliminating the need to reload entire checkpoint images from slower block-based storage.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent changes the physical state parameter of memory from volatile (RAM) to non-volatile (NVRAM). This parameter change maintains the fast access characteristics of memory while adding persistence, thereby reducing recovery time without sacrificing data durability.

Inventive Principle:
Principle #35Parameter changes

2Speed

If volatile RAM is used for primary storage in IMDBMS, then access speed is improved, but data loss occurs during system failures

Engineering Contradiction:
Improveaccess speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent changes the volatility parameter of the memory system from volatile (RAM) to non-volatile (NVRAM). This allows the system to maintain fast memory-like access speeds while ensuring data persistence across system failures, resolving the contradiction between speed and reliability.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent uses a composite memory architecture combining NVRAM and block-based storage. NVRAM provides fast access and persistence for active database data, while block-based storage serves as backup, creating a composite system that achieves both speed and reliability.

Inventive Principle:
Principle #40Composite materials

3Loss of time

If NVRAM is used to store database data, then recovery time is reduced, but hardware complexity increases

Engineering Contradiction:
Improverecovery timeVSAvoidhardware complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent changes the persistence parameter of the storage medium, transitioning from volatile to non-volatile memory. This single parameter change achieves the dual benefit of reducing recovery time while maintaining compatibility with existing memory management architectures, thereby limiting the increase in hardware complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11334445B2Using non-volatile memory to improve the availability of an in-memory database
Publication Date: 2022.05.17 ORACLE INT CORP
  • US11334445B2 patent drawing
  • US11334445B2 patent drawing
  • US11334445B2 patent drawing

AI summary

In an in-memory database management system, non-volatile random access memories (NVRAMs) are used to store database data and control data. Because this data is stored in NVRAM, the data survives system failures. Recovery from a system failure may be accomplished more quickly by, at least in part, modifying the surviving data in NVRAM, rather than loading an entire checkpoint image and applying uncheckpointed transactions needed to synchronize the database. Because in this form of recovery the database state that serves as the starting point for applying change records is the database as stored in the NVRAM, this form of recovery is referred to herein as in-memory-based recovery. Recovery, where the database state that serves as the starting point for applying change records is a checkpoint image, is referred to herein as checkpointed-based recovery. In-memory-based recovery eliminates or reduces the need to perform certain operations that are performed for checkpointed-based recovery.