Dynamic result set caching with a database accelerator

US9613096B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9613096-B2
Application numberUS-201414196562-A
CountryUS
Kind codeB2
Filing dateMar 4, 2014
Priority dateMar 4, 2014
Publication dateApr 4, 2017
Grant dateApr 4, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second database query. The system provides the corresponding result set from the data store for the second database query based on the comparison. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manners described above.

First claim

Opening claim text (preview).

What is claimed is: 1. A system for processing a database query comprising: at least one processor and a data store, wherein the at least one processor is configured to: process one or more first database queries against a data set to produce corresponding result sets; store one or more result sets for the one or more first database queries in the data store; determine an amount of data changed within the data set for an update applied to data of the data set after processing the one or more first database queries and discarding one or more stored result sets associated with the changed data in response to the amount of changed data exceeding a threshold amount of changed data, wherein discarding one or more stored result sets includes: discarding all stored result sets derived from changed data in response to a bulk update applying changes to entireties of database objects; and discarding one or more result sets based on the amount of changed data in response to an incremental update applying changes to elements of the database objects; receive and process a second database query, wherein processing the second database query comprises: comparing the second database query to the one or more first database queries to determine previous processing of the second database query and presence of a corresponding result set in the data store for the second database query; and reducing a response time of the at least one processor for processing the second database query by providing the corresponding result set from the data store as results for the second database query to avoid repeated query execution based on the comparison indicating the second database query has been previously processed. 2. The system of claim 1 , wherein the one or more first database queries and the second database query are processed by a database accelerator. 3. The system of claim 1 , wherein the threshold amount of changed data includes a user-specified threshold. 4. The system of claim 1 , wherein providing the corresponding result set from the data store includes: providing the corresponding result set from the data store in response to the second database query matching a previously processed one of the first database queries. 5. The system of claim 1 , wherein the data store includes a cache that is allocated a user-specified portion of disk space. 6. The system of claim 1 , wherein storing the one or more result sets comprises determining available space in the data store. 7. The system of claim 6 , wherein determining available space in the data store comprises discarding a result set. 8. A computer program product for processing a database query comprising: a computer readable storage medium having computer readable program code embodied therewith for execution on a processing system including at least one processor and a data store, the computer readable program code comprising computer readable program code configured to cause the at least one processor to: process one or more first database queries against a data set to produce corresponding result sets; store one or more result sets for the one or more first database queries in the data store; determine an amount of data changed within the data set for an update applied to data of the data set after processing the one or more first database queries and discarding one or more stored result sets associated with the changed data in response to the amount of changed data exceeding a threshold amount of changed data, wherein discarding one or more stored result sets includes: discarding all stored result sets derived from changed data in response to a bulk update applying changes to entireties of database objects; and discarding one or more result sets based on the amount of changed data in response to an incremental update applying changes to elements of the database objects; receive and process a second database query, wherein processing the second database query comprises: comparing the second database query to the one or more first database queries to determine previous processing of the second database query and presence of a corresponding result set in the data store for the second database query; and reducing a response time of the at least one processor for processing the second database query by providing the corresponding result set from the data store as results for the second database query to avoid repeated query execution based on the comparison indicating the second database query has been previously processed. 9. The computer program product of claim 8 , wherein the one or more first database queries and the second database query are processed by a database accelerator. 10. The computer program product of claim 8 , wherein the threshold amount of changed data includes a user-specified threshold. 11. The computer program product of claim 8 , wherein providing the corresponding result set from the data store includes: providing the corresponding result set from the data store in response to the second database query matching a previously processed one of the first database queries. 12. The computer program product of claim 8 , wherein the data store includes a cache that is allocated a user-specified portion of disk space. 13. The computer program product of claim 8 , wherein storing the one or more result sets comprises determining available space in the data store. 14. The computer program product of claim 13 , wherein determining available space in the data store comprises discarding a result set.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • in a memory management context, e.g. virtual memory or cache management (memory management G06F12/00; testing of static memory units G11C29/00) · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

  • using cached or materialised query results · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9613096B2 cover?
According to one embodiment of the present invention, a system for processing a database query stores one or more result sets for one or more first database queries in a data store. The system receives a second database query and compares the second database query to the one or more first database queries to determine presence of a corresponding result set in the data store for the second datab…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/3048. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 04 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).