Infinite versioning by automatic coalescing
AssigneeRubrik, Inc.
InventorsTarun Thakur, Pin Zhou, Prasenjit Sarkar
Life of this patent
Estimating the term…
Abstract
Embodiments disclosed herein provide systems, methods, and computer readable media for infinite versioning by automatic coalescing. In a particular embodiment, a method provides determining an age range for a plurality of data versions stored in a secondary data repository and identifying first data versions of the plurality of data versions that are within the age range. The method further provides determining a compaction ratio for the first data versions and compacting the first data versions based on the compaction ratio.
Claims18
A method of versioning data by automatic coalescing, the method comprising:
- determining one or more age ranges for a plurality of data versions stored in a secondary data repository, each data version in the plurality of data versions storing a set of changes made to a set of data items since a previous data version;
- for a first age range of the one or more age ranges:
- determining first data versions of the plurality of data versions that are within the first age range;
- determining a first compaction ratio defining a number of data versions to be compacted into one single data version based on the first age range;
- compacting the first data versions to one or more first compacted data versions, each first compacted data version including a change among the set of changes included in the number of data versions of the first data versions;
- and
- storing the one or more first compacted data versions.
A non-transitory computer readable storage medium having instructions stored thereon for versioning data by automatic coalescing, the instructions, when executed by a data compaction system, directing the data compaction system to perform operations, the operations including at least:
- determining one or more age ranges for a plurality of data versions stored in a secondary data repository, each data version in the plurality of data versions storing a set of changes made to a set of data items since a previous data version;
- for a first age range of the one or more age ranges:
- determining first data versions of the plurality of data versions that are within the first age range;
- determining a first compaction ratio defining a number of data versions to be compacted into one single data version based on the first age range;
- compacting the first data versions to one or more first compacted data versions, each first compacted data version including a change among the set of changes included in the number of data versions of the first data versions;
- and
- storing the one or more first compacted data versions.
A data compaction system for versioning data by automatic coalescing, the data compaction system comprising:
- a computer processor;
- and
- one or more non-transitory computer readable storage media including instructions which, when executed by the computer processor, cause the data compaction system to perform operations, the operations comprising, at least:
- determining one or more age ranges for a plurality of data versions stored in a secondary data repository, each data version in the plurality of data versions storing a set of changes made to a set of data items since a previous data version;
- for a first age range of the one or more age ranges:
- determining first data versions of the plurality of data versions that are within the first age range;
- determining a first compaction ratio defining a number of data versions to be compacted into one single data version based on the first age range;
- compacting the first data versions to one or more first compacted data versions, each first compacted data version including a change among the set of changes included in the number of data versions of the first data versions;
- and
- storing the one or more first compacted data versions.
Dependencies are inferred from the claim text.