Managing data queries
First Claim
1. A computer-implemented method of executing a query, the method including:
- receiving a query;
identifying a first data source based on the query;
identifying a second data source based on the query, the second data source being associated with at least some data processing functionality that is different from at least some data processing functionality of the first data source;
generating a request to a query planner based on the query;
providing the request to the query planner;
receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps for performance by a system managing a relational database;
generating a set of operations that includes at least one data processing operation for execution, the at least one data processing operation including at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation, wherein the at least one data processing operation is chosen based on a particular step described by the query plan, and the particular step corresponds to the at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation;
receiving data from the first data source and the second data source; and
executing, on an executing system other than a system managing a relational database, program code based on the set of operations, whereby executing the program code produces results of the query.
3 Assignments
0 Petitions
Accused Products
Abstract
In one aspect, in general, a method of generating a dataflow graph representing a database query includes receiving a query plan from a plan generator, the query plan representing operations for executing a database query on at least one input representing a source of data, producing a dataflow graph from the query plan, wherein the dataflow graph includes at least one node that represents at least one operation represented by the query plan, and includes at least one link that represents at least one dataflow associated with the query plan, and altering one or more components of the dataflow graph based on at least one characteristic of the at least one input representing the source of data.
-
Citations
37 Claims
-
1. A computer-implemented method of executing a query, the method including:
-
receiving a query; identifying a first data source based on the query; identifying a second data source based on the query, the second data source being associated with at least some data processing functionality that is different from at least some data processing functionality of the first data source; generating a request to a query planner based on the query; providing the request to the query planner; receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps for performance by a system managing a relational database; generating a set of operations that includes at least one data processing operation for execution, the at least one data processing operation including at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation, wherein the at least one data processing operation is chosen based on a particular step described by the query plan, and the particular step corresponds to the at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation; receiving data from the first data source and the second data source; and executing, on an executing system other than a system managing a relational database, program code based on the set of operations, whereby executing the program code produces results of the query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 32)
-
-
19. A non-transitory computer-readable medium including computer-executable instructions for executing a query, the executable instructions causing a computer to carry out steps including:
-
receiving a query; identifying a first data source based on the query; identifying a second data source based on the query, the second data source being associated with at least some data processing functionality that is different from at least some data processing functionality of the first data source; generating a request to a query planner based on the query; providing the request to the query planner; receiving a query plan generated by the query planner based on the request, the query plan including a description of one or more steps for performance by a system managing a relational database; generating a set of operations that includes at least one data processing operation for execution, the at least one data processing operation including at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation, wherein the at least one data processing operation is chosen based on a particular step described by the query plan, and the particular step corresponds to the at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation; receiving data from the first data source and the second data source; and executing, on an executing system other than a system managing a relational database, program code based on the set of operations, whereby executing the program code produces results of the query. - View Dependent Claims (36, 37)
-
-
20. A computer-implemented method of executing a query, the method including:
-
receiving a query plan corresponding to a query that is expressed in accordance with a query language applicable to a relational database, the query plan including a description of one or more steps for performance by a system managing a relational database; generating a set of operations that includes at least one data processing operation for execution, the at least one data processing operation including at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation, wherein the at least one data processing operation is chosen based on a particular step described by the query plan, and the particular step corresponds to the at least one of a data selection operation, a sort operation, a data summarization operation, or a combination operation; receiving data from a first data source and a second data source, the second data source being associated with at least some data processing functionality that is different from at least some data processing functionality of the first data source; and executing, on an executing system other than a system managing a relational database, program code based on the set of executable instructions, whereby executing the program code produces results of the query. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35)
-
Specification