US 12,488,021 B2
Partitioning data in a versioned database
Marin Creanga, Ottawa (CA); and Dylan Ellicott, Ottawa (CA)
Assigned to Kinaxis, Inc., Ottawa (CA)
Filed by Kinaxis Inc., Ottawa (CA)
Filed on Dec. 21, 2023, as Appl. No. 18/392,558.
Application 18/392,558 is a continuation in part of application No. 18/345,420, filed on Jun. 30, 2023.
Claims priority of provisional application 63/435,076, filed on Dec. 23, 2022.
Claims priority of provisional application 63/357,287, filed on Jun. 30, 2022.
Prior Publication US 2024/0126786 A1, Apr. 18, 2024
Int. Cl. G06F 16/27 (2019.01); G06F 16/21 (2019.01)
CPC G06F 16/278 (2019.01) [G06F 16/219 (2019.01)] 21 Claims
OG exemplary drawing
 
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).