Database Caching and Invalidation Based on Detected Database Updates
First Claim
1. A method of caching database query results;
- maintaining at a caching system one or more queries and results received from a database in response to said one or more queries;
monitoring information maintained by said database indicating transactions executed at said database;
detecting a change to said information maintained by said database;
accessing at least a portion of said information maintained by said database to determine if portions of said database have been modified; and
providing a notification to said caching system of portions of said database that have been modified if said accessing determines that portions have been modified.
0 Assignments
0 Petitions
Accused Products
Abstract
Database data is reliably maintained and invalidated based on actual changes to data in the database. The dependencies of a received query can be determined by submitting a version of the received query to the database through a native facility provided by the database to analyze how query structures are processed. The caching system can access the results of the facility to determine the tables, rows, or other partitions of data a received query is dependent upon or modifies. An abstracted form of the query can be cached with an indication of the tables, rows, etc. that queries of that structure access or modify. The tables a write or update query modifies can be cached with a time of last modification. A component can be implemented at or on the system of the database to directly detect changes to the database data. This component can monitor transactional information maintained by the database itself to determine when changes to the database occur. This component can communicate with the cache to provide notification of changes to the database.
102 Citations
17 Claims
-
1. A method of caching database query results;
-
maintaining at a caching system one or more queries and results received from a database in response to said one or more queries;
monitoring information maintained by said database indicating transactions executed at said database;
detecting a change to said information maintained by said database;
accessing at least a portion of said information maintained by said database to determine if portions of said database have been modified; and
providing a notification to said caching system of portions of said database that have been modified if said accessing determines that portions have been modified. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A database caching system, comprising:
-
a database server;
a database executing at said database server;
an application server in communication with said database server;
a listener component at said database server, said listener component accesses information maintained by said database indicating transactions affecting database data and in response to a change to said information maintained by said database, issues a notification of said change to said application server;
a caching system for said database located at said application server, said caching system maintains information including requests issued to said database and results received from said database in response to said requests, said caching system receives said notification of said change from said listener component and in response, updates said information to reflect said change to said database data. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. One or more processor readable storage devices having processor readable code embodied on said one or more processor readable storage devices, said processor readable code for programming one or more processors to perform a method comprising:
-
maintaining at a caching system one or more queries and results received from a database in response to said one or more queries;
monitoring information maintained by said database indicating transactions executed at said database;
detecting a change to said information maintained by said database;
accessing at least a portion of said information maintained by said database to determine if portions of said database have been modified; and
providing a notification to said caching system of portions of said database that have been modified if said accessing determines that portions have been modified.
-
Specification