US 12,346,301 B2
List-based data search comprising an append-only data structure
Peter Palm, Isernhagen (DE)
Assigned to Cortex Innovations Gmbh, Kyffhäuserland OT Bendeleben (DE)
Appl. No. 18/555,804
Filed by Cortex Innovations Gmbh, Bendeleben (DE)
PCT Filed Apr. 22, 2022, PCT No. PCT/EP2022/060747
§ 371(c)(1), (2) Date Oct. 17, 2023,
PCT Pub. No. WO2022/223807, PCT Pub. Date Oct. 27, 2022.
Claims priority of application No. 21170144 (EP), filed on Apr. 23, 2021.
Prior Publication US 2024/0320207 A1, Sep. 26, 2024
Int. Cl. G06F 16/22 (2019.01); G06F 16/215 (2019.01); G06F 16/245 (2019.01)
CPC G06F 16/2282 (2019.01) [G06F 16/215 (2019.01); G06F 16/245 (2019.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method for performing a database query on a database, wherein the database contains a plurality of logical data records at a first time point, referred to as a “most recent consolidation time point”, wherein each data record contains a data record identification (ID) and one or more field identifier-data value pairs, wherein the data records are physically stored in a form of field-specific data value lists, wherein the method comprises, after the most recent consolidation time point:
receiving instructions to change data values of fields of several of the data records;
storing the instructions in an append-only data structure without making the changes to the field-specific data value lists, wherein each entry in the append-only data structure-referred to here as an AOD entry— contains at least those of the field identifier-data value pairs of one of the data records that are to be changed according to one of the change instructions;
for each of the data records for which the database receives one or more instructions to change data values after the most recent consolidation time point, storing the address of the most recent of the stored AOD entries specifying a change to that data record, linked to the data record ID of that data record, in an address allocation table, wherein the links in the address allocation table are automatically updated; and
performing a database query, wherein the database query comprises:
i. searching the field-specific data value lists to identify IDs of data records of which the content is to be returned in whole or in part based on a match with one or more field-specific search values,
ii. accessing the address allocation table to identify addresses of AOD entries assigned to one of the data record IDs identified in i),
iii. accessing the identified addresses of the AOD entries;, and
iv. using the change details contained in these identified AOD entries to add field identifier-data value pairs to the data record IDs ascertained in step i) and output the data record IDs.