System and method for dynamically creating keys in a database system
First Claim
1. A database system capable of dynamically creating one or more keys associated with one or more pre-compiled queries, the system comprising:
- a query module operating to generate one or more pre-compiled queries from a query representation received from a client;
a plurality of slave nodes operating to execute the one or more pre-compiled queries, each of the plurality of slave nodes operating to track, as the one or more pre-compiled queries are executed over a time period, one or more usage statistics identifying variables used to resolve the pre-compiled queries on each slave node; and
at least one master node coupled to each of the plurality of slave nodes, the at least one master node comprising a computer processor and operating to;
receive the one or more usage statistics from each of the plurality of slave nodes,compute, based on the respective usage statistics from each slave node, a number of times the identified variables were used as the pre-complied queries were executed over the time period, and,based at least in part on the number of times the identified variables were used during the time period, request the plurality of slave nodes to dynamically create one or more keys, the keys including pointers identifying locations of data on the slave nodes for resolving the pre-compiled queries;
wherein each of the plurality of slave nodes dynamically creates the one or more keys for use in executing the one or more pre-compiled queries.
3 Assignments
0 Petitions
Accused Products
Abstract
A database system capable of dynamically creating one or more keys associated with one or more pre-compiled queries includes a plurality of slave nodes that are operable to execute one or more pre-compiled queries. Each of the plurality of slave nodes operates to store one or more usage statistics that relate to the execution of the one or more pre-compiled queries. The system also includes at least one master node that is coupled to each of the plurality of slave nodes. The at least one master node is operable to receive the one or more usage statistics from each of the plurality of slave nodes. Furthermore, the at least one master node is operable to identify, based at least in part on the one or more usage statistics, one or more keys to dynamically create. Moreover, each of the plurality of slave nodes dynamically creates the one or more keys for use in executing the one or more pre-compiled queries.
-
Citations
33 Claims
-
1. A database system capable of dynamically creating one or more keys associated with one or more pre-compiled queries, the system comprising:
-
a query module operating to generate one or more pre-compiled queries from a query representation received from a client; a plurality of slave nodes operating to execute the one or more pre-compiled queries, each of the plurality of slave nodes operating to track, as the one or more pre-compiled queries are executed over a time period, one or more usage statistics identifying variables used to resolve the pre-compiled queries on each slave node; and at least one master node coupled to each of the plurality of slave nodes, the at least one master node comprising a computer processor and operating to; receive the one or more usage statistics from each of the plurality of slave nodes, compute, based on the respective usage statistics from each slave node, a number of times the identified variables were used as the pre-complied queries were executed over the time period, and, based at least in part on the number of times the identified variables were used during the time period, request the plurality of slave nodes to dynamically create one or more keys, the keys including pointers identifying locations of data on the slave nodes for resolving the pre-compiled queries; wherein each of the plurality of slave nodes dynamically creates the one or more keys for use in executing the one or more pre-compiled queries. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 28, 29, 30, 31, 32, 33)
-
-
16. A method of dynamically creating one or more keys associated with one or more pre-compiled queries for use on a database system, the method comprising:
-
generating one or more pre-compiled queries from a query representation received from a client; tracking, as the one or more pre-compiled queries are executed on a plurality of slave nodes over a time period, one or more usage statistics identifying variables used to resolve the pre-compiled queries on each of the plurality of slave nodes; collecting, from each of the plurality of slave nodes, the one or more usage statistics associated with the one or more pre-compiled queries; computing a number of times the identified variables were used as the pre-compiled queries were executed over the time period based at least on the respective usage statistics from each slave node; based at least in part on the number of times the identified variables were used during the time period, requesting that the plurality of slave nodes dynamically create one or more keys, the keys including pointers identifying locations of data on the slave nodes for resolving the pre-compiled queries; and at each of the plurality of slave nodes, dynamically creating the one or more keys. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer-implemented system for dynamically creating one or more keys, comprising:
-
one or more computer processors collectively operating to; generate one or more pre-compiled queries from a query representation received from a client; track, as the one or more pre-compiled queries are executed on a plurality of slave nodes over a time period, one or more usage statistics identifying variables used to resolve the pre-compiled queries on each of the plurality of slave nodes; collect the one or more usage statistics associated with the one or more pre-compiled queries from each of the plurality of slave nodes; compute a number of times the identified variables were used as the pre-compiled queries were executed over the time period based on the respective usage statistics from each slave node; and based at least in part on the number of times the identified variables were used during the time period, request that the plurality of slave nodes dynamically create one or more keys, the keys including pointers identifying locations of data on the slave nodes for resolving the pre-compiled queries; wherein the plurality of slave nodes dynamically create one or more keys.
-
Specification