Versioned Database Scenario Selection for Memory Reclamation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Database administrators face challenges in reducing the memory footprint by deleting scenarios in versioned databases due to data sharing between scenarios, leading to inefficient memory reclamation.
Innovation Solution
Utilizing a version graph and scenario structure to determine the optimal combination of scenarios for deletion, generating a version visibility data structure (VVDS) to evaluate and execute the deletion of scenarios that reclaim memory effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If scenarios are deleted to reduce memory footprint, then memory usage is reduced, but data sharing between scenarios prevents effective memory reclamation
Solution Approach 1:
The patent segments the scenario structure into a version graph where scenarios are decomposed into version identifiers and scenario identifiers. This segmentation allows the system to track which scenarios reference which versions independently, enabling precise memory reclamation by identifying scenarios that exclusively reference specific versions without affecting other scenarios that share the same data.
Solution Approach 2:
The patent introduces a version graph as an intermediary data structure between scenarios and underlying data. This version graph tracks scenario-version relationships, allowing the system to evaluate memory reclamation impact before deletion. The version graph acts as a mediator that provides visibility into data sharing relationships, enabling informed decisions about which scenarios can be safely deleted to free memory.
2Quantity of substance
If all combinations of scenario deletions are evaluated to maximize memory reclamation, then memory optimization is improved, but computational complexity increases exponentially
Solution Approach 1:
The patent performs preliminary action by constructing a version graph that pre-computes and stores scenario-version relationships before deletion evaluation. This preliminary structuring of data allows the system to efficiently query which versions are referenced by which scenarios, avoiding the need to evaluate all possible deletion combinations from scratch. The version graph is built once and then used to guide deletion decisions.
Solution Approach 2:
The version graph structure enables self-service by automatically tracking reference counts and relationships between scenarios and versions. When evaluating deletion candidates, the system queries the version graph to determine memory reclamation impact without requiring complex external analysis. The data structure serves itself by providing the necessary information for optimization decisions.
3Productivity
If scenarios share data to improve data reuse, then system efficiency is improved, but memory reclamation becomes inefficient
Solution Approach 1:
The patent segments data reference tracking by creating explicit scenario-version links in the version graph. Instead of treating shared data as a monolithic resource, the system segments references into individual scenario-version relationships. This allows the system to maintain data sharing for efficiency while simultaneously tracking which scenarios exclusively reference which versions, enabling precise memory reclamation when appropriate.
Solution Approach 2:
The version graph provides feedback mechanisms by tracking scenario-version relationships and enabling the system to evaluate the impact of scenario deletion on memory reclamation. This feedback loop allows the system to maintain data sharing relationships while monitoring reference patterns, identifying when shared data can be safely reclaimed, and making informed decisions about memory management without compromising data reuse efficiency.
Data Source
AI summary
Systems and methods for replicating data in a versioned database, comprising: receiving a maximum replication size; selecting, a lead scenario for placement in a replication set; the lead scenario having a size less than the maximum replication size; marking all scenarios in the versioned database as unprocessed and the lead scenario as processed; initializing the replication set; adding the lead scenario into the replication set; obtaining a list of candidate scenarios to place in the replication set; determining a best candidate scenario from the list of candidate scenarios; adding the best candidate scenario to the replication set the best candidate scenario as processed; and iterating a new list of candidate scenarios to place in the replication set until there are no more scenario candidates to place in the replication set.


