Delta Map Data Recovery for Near-Constant Time Versioning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current systems for processing and recovering synthesized large data sets (SLDS) face challenges due to their dynamic nature, rapid changes, and the need for efficient version management, leading to increased recovery time and storage requirements, with existing methods like reverse incrementals and RMAN being inefficient and requiring significant storage space.
Innovation Solution
A system and method that generate delta maps for changes in dataset segments across multiple versions, allowing for the recovery of any version of the SLDS in near-constant time by summing the initial dataset version, first delta map, and second delta map, while maintaining multiple incremental backups and avoiding costly hardware requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If conventional snapshot techniques are used to capture and restore versions of SLDS, then version capture capability is provided, but recovery time increases as a function of the number of versions maintained
Solution Approach 1:
The patent segments the dataset into fixed-size blocks and creates separate bloom filters for each block. This segmentation allows the system to efficiently track changes at the block level rather than managing entire dataset versions, enabling constant-time recovery regardless of the number of versions maintained.
Solution Approach 2:
The patent introduces bloom filters as an intermediary data structure between the dataset blocks and version information. These bloom filters efficiently encode change information across multiple versions without requiring storage of complete version snapshots, enabling fast recovery by combining selective blocks from different versions.
2Adaptability or versatility
If multiple versions of SLDS are maintained for rapid changing datasets, then version flexibility is improved, but storage space consumption increases unreasonably
Solution Approach 1:
The patent extracts only the essential change information from complete dataset versions by using bloom filters to track which blocks have changed. This extraction approach maintains version flexibility while storing only the minimal necessary data to reconstruct any version, dramatically reducing storage requirements.
Solution Approach 2:
The patent discards complete version snapshots and recovers versions on-demand by selectively combining blocks from the base version with incremental changes from subsequent versions. This allows the system to maintain unlimited version flexibility while using constant storage space.
3Productivity
If reverse incrementals are used where the last backup is a full backup and previous incrementals are converted, then retention window is moved forward, but a full backup must always be maintained for recovery
Solution Approach 1:
The patent implements a dynamic version management system where the base version can be freely changed without requiring conversion of incremental backups. The system dynamically adapts to any base version selection by using bloom filters to track changes relative to the chosen base, eliminating the constraint of always needing the most recent full backup.
4Productivity
If Oracle's RMAN merges the last incremental backup with the full backup to create a new full backup, then incremental merging is achieved, but only the last full backup and one last incremental backup are available for recovery
Solution Approach 1:
The patent performs preliminary action by maintaining bloom filters that track changes from the base version through all incremental backups. This preliminary tracking structure enables the system to recover any version by selectively combining blocks, providing full version flexibility without the constraint of only supporting the latest full backup plus one incremental.
Data Source
AI summary
A system and method for data recovery of large datasets is provided. The method may include generating a first version of a dataset having a plurality of segments. The first version may be generated by collecting a plurality of data inputs from a plurality of computing devices and storing these in a map. The method may further include generating a first delta map corresponding to changes in the plurality of segments for a second version of the dataset, wherein the second version is one of a plurality of versions of the dataset generated after the first version. In addition, the method may include generating a second delta map corresponding to changes in the plurality of segments for all versions prior to the second version. Further, the method may include generating a recovered version of the dataset by summing the first version, the first delta map, and the second delta map.


