Query routing and rewriting
First Claim
Patent Images
1. A system, comprising:
- a first logical database comprising a first logical table;
a second database comprising a second logical table; and
a computing node, that includes at least one processor and at least one memory, that at least;
receives, from a client device, one or more requests collectively indicative of connecting the client device to the first logical database and processing a first query on the first logical table;
causes a connection to be made to the second database in place of a connection to the first logical database, in response to a determination to connect to the second database that is based at least in part on a first result of a first function, the first function comprising instructions for analyzing the first query;
obtains a second query by applying a second function to the first query, wherein the second function comprises instructions for rewriting the first query, wherein rewriting the first query comprises adapting to a difference between the first and second logical tables;
sends a request to process the second query to the second database; and
sends results of processing the second query to the client device.
1 Assignment
0 Petitions
Accused Products
Abstract
A data warehouse system may include a connection pool manager. The connection pool manager may invoke a first client-provided function for rerouting a connection request from a first database to a second database based on a query that is to be executed using the connection. The connection pool manager may invoke a second client-provided function for rewriting the query to be executed to leverage database aspects found on the second database.
-
Citations
20 Claims
-
1. A system, comprising:
-
a first logical database comprising a first logical table; a second database comprising a second logical table; and a computing node, that includes at least one processor and at least one memory, that at least; receives, from a client device, one or more requests collectively indicative of connecting the client device to the first logical database and processing a first query on the first logical table; causes a connection to be made to the second database in place of a connection to the first logical database, in response to a determination to connect to the second database that is based at least in part on a first result of a first function, the first function comprising instructions for analyzing the first query; obtains a second query by applying a second function to the first query, wherein the second function comprises instructions for rewriting the first query, wherein rewriting the first query comprises adapting to a difference between the first and second logical tables; sends a request to process the second query to the second database; and sends results of processing the second query to the client device. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
receiving one or more requests collectively indicative of connecting a client device to a first logical database and processing a query involving the first logical database; connecting the client device to a second database, in response to a determination to connect the client device to the second database instead of the first logical database, the determination based at least in part on a result of invoking a first function, the first function comprising executable instructions for analyzing the query; sending a request to process a version of the query to the second database; and sending results of processing the version of the query to the client device. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable storage medium having stored thereon instructions that, upon execution by one or more computing devices, cause the one or more computing devices at least to:
-
receive, from a client device, one or more requests collectively indicative of connecting the client device to a first logical database and processing a first query on the first logical database; connect the client device to a second database, in response to a determination to connect the client device to the second database instead of the first logical database, the determination based at least in part on a result of a first function, the first function comprising executable instructions for analyzing the first query; send a request to process a second query based on the first query to the second database; and send results of processing the second query to the client device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification