×

Systems and methods for maintaining aggregate tables in databases

  • US 10,635,645 B1
  • Filed: 07/31/2014
  • Issued: 04/28/2020
  • Est. Priority Date: 05/04/2014
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for maintaining aggregate tables in databases, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

  • maintaining a database that comprises a primary table of data, an intermediate mapping table of metadata from the data in the primary table, and an aggregate table that aggregates the metadata from the intermediate mapping table, wherein at least the intermediate mapping table comprises a physical implementation of a denormalized contiguous linked list;

    for each new item of data received during a time period;

    updating the primary table with the new item of data;

    identifying a row in the intermediate mapping table that specifies column values and determining that the new item of data matches the specified column values; and

    updating the row in the intermediate mapping table with a pointer to the new item of data within the primary table of data immediately after updating the primary table with the new item of data, such that the row in the intermediate mapping table represents an aggregation of all rows within the primary table of data that match the specified column values and the row in the intermediate mapping table includes separate pointers to each row within the primary table of data that matches the specified column values;

    at the end of the time period, updating the aggregate table with an aggregation of the metadata based on the metadata stored in the intermediate table rather than directly updating a count in the aggregate table to reflect each new item of data, to increase accuracy of the aggregate table;

    retrieving at least one data mapping from the intermediate mapping table based on a search result obtained by retrieving the aggregation of the metadata from the aggregate table; and

    retrieving at least one item of data from the primary table based on the at least one data mapping retrieved from the intermediate mapping table.

View all claims
  • 7 Assignments
Timeline View
Assignment View
    ×
    ×