QUERY ROUTING IN A DISTRIBUTED DATABASE SYSTEM
First Claim
1. A method comprising:
- receiving a user query for selecting data from a database that is accessible via a plurality of database servers;
parsing the user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, and to identify a target database server based on the skeletal query form and the one or more arguments;
determining whether a compiled skeletal query corresponding to the identified skeletal query form is available at the target database server, and,if the compiled skeletal query is available at the target database server;
communicating the user query and one or more arguments associated with the user query to the target database server;
executing the compiled skeletal query at the database server using the one or more arguments associated with the user query; and
providing results of the executing of the compiled skeletal query in response to the user query.
7 Assignments
0 Petitions
Accused Products
Abstract
A distributed query system includes a distributed collection of dynamically created compiled queries. As each client submits a query, a parameterized query skeleton is identified, which identifies the general form of the query, and the parameters associated with the particular query. If a compiled form of the skeletal query is available within the distributed system, it is executed with the parameters of the current query. If the compiled form of the skeletal query is not available within the distributed system, a compiled form is created, and the location of this compiled skeletal query is stored for subsequent access by this client, or other clients. The executable compiled skeletal queries may be stored at each client system, in a commonly available server storage system, or within one or more database servers. A routing system may be provided to efficiently route parameterized queries to the appropriate location(s) of the compiled skeletal query.
85 Citations
30 Claims
-
1. A method comprising:
-
receiving a user query for selecting data from a database that is accessible via a plurality of database servers; parsing the user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, and to identify a target database server based on the skeletal query form and the one or more arguments; determining whether a compiled skeletal query corresponding to the identified skeletal query form is available at the target database server, and, if the compiled skeletal query is available at the target database server; communicating the user query and one or more arguments associated with the user query to the target database server; executing the compiled skeletal query at the database server using the one or more arguments associated with the user query; and providing results of the executing of the compiled skeletal query in response to the user query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer-readable medium that includes a computer program, which, when executed by a processing system at a client causes the processing system to:
-
receive a user query for selecting data from a database that is accessible via a plurality of database servers; parse the user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, and to identify a target database server based on the skeletal query form and the one or more arguments; determine whether a compiled skeletal query corresponding to the identified skeletal query form is available at the target database server, and, if the compiled skeletal query is available at the target database server; communicate the user query and one or more arguments associated with the user query to the target database server; receiving results of executing the compiled skeletal query at the database server using the one or more arguments associated with the user query; and providing the results in response to the user query. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
one or more clients, and a plurality of database servers that provide access to records of a database; wherein; each client includes; a query parser that parses a user query to identify a skeletal query form corresponding to the user query and one or more arguments associated with the user query, and identifies a target database server based on the skeletal query form and the one or more arguments, and a router that forwards the skeletal query form and the one or more arguments to the target database server based on information received from the query parser; and the target database server; executes a compiled skeletal query corresponding to the skeletal query form, using the one or more arguments associated with the user query, and returns results of executing the compiled skeletal query to the client that forwarded the skeletal query form to the target database server. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification