Method and system for transparent database query caching
First Claim
1. Database performance enhancement apparatus, for use in a network having a set of at least one client system each running an application which makes SQL database queries via a network to a particular IP address and port combination, and a plurality of SQL database servers each having access to at least a portion of a database and running software which accepts SQL database queries received at a respective server IP address and port combination,the apparatus comprising a cache memory, and the apparatus being arranged to:
- receive, through a network port, a first SQL database query made by the set of client systems and directed to the particular IP address and port combination;
determine whether the first SQL database query is an SQL write query or a read query, and if the first SQL database query is a read query then also determine whether the first SQL database query is one for which valid response data is already stored in the cache memory, and;
in response to determining that the first SQL database query is a write query and not a read query, forward the first SQL database query through a network port to one or more of the servers in the plurality of database servers,andin response to determining that the first SQL database query is a read query and not a write query and thatthe first SQL database query is one for which valid response data is already stored in the cache memory,return the response data from the cache memory,and in response to determining that the first SQL database query is a read query and not a write query and that the first SQL database query is one for which valid response data is not stored in the cache memory, forward the first SQL database query through a network port to one or more of the servers in the plurality of database servers.
6 Assignments
0 Petitions
Accused Products
Abstract
Roughly described, a database accelerator is installed in a network having client systems which makes database queries to a particular IP address and port, and database servers which accept queries received at an IP address and port. The accelerator includes a cache, and is arranged to receive, through a network port, a database query made by a client system and directed to the particular IP address and port, return response data from the cache if available there, and if not, then forward the query through a network port to the database servers. Upon receipt of response data from the servers, the accelerator can retain it in its cache in addition to forwarding it back to the client. By installing the accelerator transparently in the network, no changes are required to either the client or server software in order to add query caching functionality to an existing client/server database arrangement.
90 Citations
35 Claims
-
1. Database performance enhancement apparatus, for use in a network having a set of at least one client system each running an application which makes SQL database queries via a network to a particular IP address and port combination, and a plurality of SQL database servers each having access to at least a portion of a database and running software which accepts SQL database queries received at a respective server IP address and port combination,
the apparatus comprising a cache memory, and the apparatus being arranged to: -
receive, through a network port, a first SQL database query made by the set of client systems and directed to the particular IP address and port combination; determine whether the first SQL database query is an SQL write query or a read query, and if the first SQL database query is a read query then also determine whether the first SQL database query is one for which valid response data is already stored in the cache memory, and; in response to determining that the first SQL database query is a write query and not a read query, forward the first SQL database query through a network port to one or more of the servers in the plurality of database servers, and in response to determining that the first SQL database query is a read query and not a write query and that the first SQL database query is one for which valid response data is already stored in the cache memory, return the response data from the cache memory, and in response to determining that the first SQL database query is a read query and not a write query and that the first SQL database query is one for which valid response data is not stored in the cache memory, forward the first SQL database query through a network port to one or more of the servers in the plurality of database servers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. Database performance enhancement apparatus, for use in a network having a set of at least one client system each running an application which makes SQL database queries via a network to a particular IP address and port combination, and a plurality of SQL database servers each having access to at least a portion of a database and running software which accepts SQL database queries received at a respective server IP address and port combination,
the apparatus comprising a cache memory, and the apparatus being arranged to: -
receive, through a network port, response data from one of the database servers to a first SQL database read query made by a first one of the client systems; forward the response through a network port to the first client system; compare the first SQL database query against predetermined criteria for cacheability; and
in dependence upon the comparison,store the response data in the cache memory in association with an indication of the first SQL database read query. - View Dependent Claims (14, 15, 16, 17, 18, 19, 32, 33)
-
-
20. A method for database performance enhancement, for use in a network having a set of at least one client system each running an application which makes SQL database queries via a network to a particular IP address and port combination, and a plurality of SQL database servers each having access to at least a portion of a database and running software which accepts SQL database queries received at a respective server IP address and port combination, comprising the steps of:
-
receiving, through a network port, a first SQL database query made by the set of client systems and directed to the particular IP address and port combination; determining whether the first SQL database query is an SQL write query or an SQL read Query, and if the first SQL database query is an SQL read query then also determining whether the first SQL database query is one for which valid response data is already stored in the cache memory, and; if the first SQL database query is a write query and not a read query, then in response to determining that the first SQL database query is a write query and not a read query, forwarding the first SQL database query through a networks ort to one or more of the servers in the plurality of database servers, and if the first SQL database query is a read query and not a write query and is one for which valid response data is already stored in the cache memory, then in response to determining that the first SQL database query is a read query and not a write query and that the first SQL database query is one for which valid response data is already stored in the cache memory, returning the response data from the cache memory, and if the first SQL database query is a read query and not a write query and is one for which valid response data is not stored in the cache memory, then in response to determining that the first SQL database query is a read query and not a write query and that the first SQL database query is one for which valid response data is not stored in the cache memory, forwarding the first SQL database query through a network port to one or more of the servers in the plurality of database servers. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A method for database performance enhancement, for use in a network having a set of at least one client system each running an application which makes SQL database queries via a network to a particular IP address and port combination, and a plurality of SQL database servers each having access to at least a portion of a database and running software which accepts SQL database queries received at a respective server IP address and port combination, comprising the steps of:
-
receiving, through a network port, response data from one of the database servers to a first SQL database query made by a first one of the client systems; forwarding the response through a network port to the first client system; comparing the first SQL database query against predetermined criteria for cacheability; and
in dependence upon the comparison,storing the response data in a cache memory in association with an indication of the first SQL database query. - View Dependent Claims (28, 29, 30, 31, 34, 35)
-
Specification