In-Memory Database Backup via Snapshot Copying
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Reliability
If work processes are interrupted to avoid inconsistent data copies, then data consistency is improved, but system availability deteriorates
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.
3Productivity
If data is copied while work processes continue, then system availability is improved, but data consistency deteriorates
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.
4Loss of time
If only modified data blocks are duplicated, then backup time is reduced, but complexity of tracking modifications increases
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.
Data Source
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.


