In-Memory Database Backup via Snapshot Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Performing backups of databases stored in main memory results in significant performance slowdowns and downtime, as existing methods require interrupting ongoing processes and may lead to inconsistent data copies.

Innovation Solution

Implementing a snapshot mechanism in the Memory Management Unit (MMU) to create a consistent copy of the data set in main memory, allowing for parallel processing during backup operations by duplicating only modified data blocks and storing the snapshot in a non-volatile target memory.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a full backup of the file system and main memory is performed, then data backup completeness is improved, but system performance deteriorates and downtime increases

Engineering Contradiction:
Improvedata backup completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The backup process is segmented into two phases: first, a consistent snapshot of the data structure is captured in main memory; second, data blocks are copied to persistent storage in parallel with ongoing operations. This segmentation allows the backup to proceed without requiring complete system downtime, thereby maintaining productivity while ensuring backup completeness.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A snapshot of the data structure is created in advance before the actual data copying begins. This preliminary action captures the consistent state of the database, allowing subsequent backup operations to proceed in parallel with minimal disruption to system performance.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If work processes are interrupted to avoid inconsistent data copies, then data consistency is improved, but system availability deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidsystem availability
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Instead of interrupting work processes, the system creates a snapshot copy of the data structure in main memory. This copy represents a consistent state at a particular point in time, allowing original work processes to continue uninterrupted while the backup operates on the copied data structure, thus maintaining both data consistency and system availability.

Inventive Principle:
Principle #26Copying

3Productivity

If data is copied while work processes continue, then system availability is improved, but data consistency deteriorates

Engineering Contradiction:
Improvesystem availabilityVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The data structure is snapshotted in advance before parallel copying begins. This preliminary capture of the consistent state ensures that even as data blocks are modified during the backup process, the snapshot remains a reliable representation of the database at the backup start time, maintaining data consistency while allowing continuous system operation.

Inventive Principle:
Principle #10Preliminary action

4Loss of time

If only modified data blocks are duplicated, then backup time is reduced, but complexity of tracking modifications increases

Engineering Contradiction:
Improvebackup timeVSAvoidmodification tracking complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent extracts only the modified data blocks from the main memory for copying to persistent storage, rather than duplicating the entire database. This extraction approach significantly reduces backup time while the underlying snapshot mechanism manages the complexity of tracking which blocks have been modified since the snapshot was created.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS9251011B2Backup of in-memory databases
Publication Date: 2016.02.02 SAP SE
  • US9251011B2 patent drawing
  • US9251011B2 patent drawing
  • US9251011B2 patent drawing

AI summary

Various embodiments of systems and methods for performing backup operation in In-memory database systems are described herein. The method includes receiving a request to create a backup of a data set from a main memory of the system. In response to the request, the data set is configured as read-only and a data structure having meta-data information identifying the blocks of data in the main memory that form the data set is invoked. A snapshot of the data structure is created and the data set is enabled for manipulation. Further, the method involves receiving a request to modify a block of data and copying the requested data block to a free memory block in the main memory. The data structure is updated by replacing the meta-data identifying the requested original data block with meta-data identifying the free memory block which holds a copy of the requested data block.