Managing data queries
First Claim
1. A computer-implemented method of operating on data from at least two data sources, the data stored in respective tangible, non-transitory computer-readable media of the data sources, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including executing the query on an executing system other than a system managing a relational database, the executing 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 capability different from at least some data processing capability of the first data source;
identifying an executing system other than a system managing a relational database;
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 computer program 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 the identified executing system, program code based on the computer program.
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
38 Claims
-
1. A computer-implemented method of operating on data from at least two data sources, the data stored in respective tangible, non-transitory computer-readable media of the data sources, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including executing the query on an executing system other than a system managing a relational database, the executing 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 capability different from at least some data processing capability of the first data source; identifying an executing system other than a system managing a relational database; 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 computer program 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 the identified executing system, program code based on the computer program. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 35, 36, 37, 38)
-
-
20. A system, including one or more processors, for operating on data from at least two data sources, the data stored in respective tangible, non-transitory computer-readable media of the data sources, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the system configured to execute operations for:
-
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 capability different from at least some data processing capability of the first data source; identifying an executing system other than a system managing a relational database; 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 computer program 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 the identified executing system, program code based on the computer program. - View Dependent Claims (21, 22, 23, 24, 25, 26)
-
-
27. A non-transitory computer-readable medium including computer-executable instructions for operating on data from at least two data sources, the data stored in respective tangible, non-transitory computer-readable media of the data sources, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including executing the query on an executing system other than a system managing a relational database, 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 capability different from at least some data processing capability of the first data source; identifying an executing system other than a system managing a relational database; 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 computer program 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 the identified executing system, program code based on the computer program. - View Dependent Claims (28, 29, 30, 31, 32, 33)
-
-
34. A system, including one or more processors, for operating on data from at least two data sources, the data stored in respective tangible, non-transitory computer-readable media of the data sources, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the system including:
-
means for receiving a query; means for identifying a first data source based on the query; means for identifying a second data source based on the query, the second data source being associated with at least some data processing capability different from at least some data processing capability of the first data source; means for identifying an executing system other than a system managing a relational database; means for generating a request to a query planner based on the query; means for providing the request to the query planner; means for 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; means for generating a computer program 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; means for receiving data from the first data source and the second data source; and means for executing, on the identified executing system, program code based on the computer program.
-
Specification