×

Aggregate query-caching in databases architectures with a differential buffer and a main store

  • US 9,740,741 B2
  • Filed: 02/10/2014
  • Issued: 08/22/2017
  • Est. Priority Date: 04/11/2013
  • Status: Active Grant
First Claim
Patent Images

1. A computer system for both online transaction processing and online analytical processing, comprising:

  • a processor;

    a database coupled to the processor, the database comprising;

    a main store for storing records,a differential buffer for receiving and buffering added or deleted or modified records, the differential buffer being coupled to the main store,a schema comprising records stored in the main store and records stored in the differential buffer, anda cache store for caching a result of a query against the schema, wherein the query involves calculating an aggregate function; and

    a cache controller executable by the processor and communicatively coupled to the database, the cache controller being configured for;

    storing a result of the query in the cache store as a materialized aggregate;

    receiving an analytical request; and

    determining, in response to the received request, an up-to-date materialized aggregate by;

    accessing the cache store to obtain the cached materialized aggregate;

    determining the records of the schema that have been added or deleted or modified since the step of storing the cached result in the cache store on the basis of the records stored in the differential buffer; and

    incrementally deriving the up-to-date materialized aggregate from the cached materialized aggregate and from the records determined in the previous step,wherein the cache controller is further configured for updating the cached materialized aggregate according to a merge update strategy, the merge update strategy comprising;

    replacing the cached materialized aggregate in the cache store in response to the computer system initiating a merge of the records of the differential buffer into the main store, by;

    accessing the cached query from the cache store during the merge;

    determining the records of the schema that have been added or deleted or modified since the step of storing the cached result in the cache store on the basis of the records stored in the differential buffer;

    incrementally deriving the up-to-date materialized aggregate from the cached materialized aggregate and from the records determined in the previous step; and

    replacing the cached materialized aggregate in the cache store with the up-to-date materialized aggregate.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×