Deleting data in a versioned database
AssigneeKinaxis Inc.
InventorsMarin Creanga, Dylan Ellicott
Life of this patent
Estimating the term…
Abstract
Systems and methods for deleting data in a versioned database, comprising: generating a version visibility data structure (VVDS) from a version graph and scenario structure; determining each combination of feasible scenarios that when deleted, delete memory; evaluating an amount of memory reclaimed for each combination of feasible scenarios; and deleting one or more combination of scenarios to free up a specific amount of memory.
Claims20
A computer-implemented method for deleting data in a versioned database comprising versions, wherein each version is generated as data changes across the versioned database that differentiates versions, and wherein each scenario is a logical pointer in the database that is independent of and points to the version in the database, the method comprising:
- generating, by a processor, a version visibility data structure (VVDS) for the versioned database that maps each version to a respective set of scenarios having access to the version, based on a version graph and scenario structure of the versioned database;
- identifying, by the processor, scenario-deletion sets each corresponding to a version and including at least the scenarios mapped to the version in the VVDS;
- determining, by the processor, for each scenario-deletion set, an amount of memory reclaimable if the scenarios in the scenario-deletion set are deleted by identifying versions that would no longer be accessible to any remaining scenario and aggregating memory attributed to the identified versions;
- and
- deleting, by the processor, scenarios in a selected scenario-deletion set.
A computing system configured for deleting data in a versioned database comprising versions, wherein each version is generated as data changes across the versioned database that differentiates versions, and wherein each scenario is a logical pointer in the database that is independent of and points to the version in the database, comprising:
- a processor;
- and a memory storing instructions that, when executed by the processor, cause the system to perform operations comprising:
- generating a version visibility data structure (VVDS) for a versioned database that maps each version to a respective set of scenarios having access to the version, based on a version graph and scenario structure of the versioned database;
- identifying scenario-deletion sets each corresponding to a version and including at least the scenarios mapped to the version in the VVDS;
- determining, for each scenario-deletion set, an amount of memory reclaimable if the scenarios in the scenario-deletion set are deleted by identifying versions that would no longer be accessible to any remaining scenario and aggregating memory attributed to the identified versions;
- and
- deleting scenarios in a selected scenario-deletion set.
A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform operations comprising:
- for a versioned database comprising versions, wherein version is generated as data changes across a versioned database that differentiates versions, and wherein each scenario is a logical pointer in the database that is independent of and points to the version in the database, generating a version visibility data structure (VVDS) for a versioned database that maps each version to a respective set of scenarios having access to the version, based on a version graph and scenario structure of the versioned database;
- identifying scenario-deletion sets each corresponding to a version and including at least the scenarios mapped to the version in the VVDS;
- determining, for each scenario-deletion set, an amount of memory reclaimable if the scenarios in the scenario-deletion set are deleted by identifying versions that would no longer be accessible to any remaining scenario and aggregating memory attributed to the identified versions;
- and
- deleting scenarios in a selected scenario-deletion set.
Dependencies are inferred from the claim text.