| CPC G06F 16/278 (2019.01) [G06F 16/219 (2019.01)] | 21 Claims |

|
1. A computer-implemented method for partitioning data in a versioned database, the method comprising:
for the versioned database comprising versions, wherein each 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,
a) initializing, by a processor, a new empty partition of the versioned database as a current partition of the versioned database;
b) selecting, by the processor, a lead scenario for placement in the current partition of the versioned database, the lead scenario having a memory unit size less than a maximum partition size of the current partition memory unit size;
c) placing, by the processor, the lead scenario into the current partition of the versioned database;
d) obtaining, by the processor, a list of candidate scenarios to place in the current partition of the versioned database;
e) determining, by the processor, a best candidate scenario from the list of candidate scenarios;
f) adding, by the processor, the best candidate scenario to the current partition of the versioned database together with the lead candidate scenario;
g) iterating, by the processor, a new list of candidate scenarios to place in the current partition of the versioned database until there are no more scenario candidates to place in the current partition of the versioned database;
h) adding, by the processor, the current partition of the versioned database to a partition list; and
i) iterating, by the processor, through all scenarios in the versioned database using steps a) through h).
|