Managing data queries
First Claim
1. A method of operating on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including:
- receiving a query;
identifying a data source based on the query;
identifying a requesting system other than a system managing a relational database storing data of the data source;
generating, by the requesting system, a request to a query planner based on the query;
providing, by the requesting system, 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 to be performed by a system managing a relational database;
generating a data structure instantiating a dataflow graph that includes;
a first node that represents at least one operation to be executed,the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation,the first node associated with information usable by an executing system to make data available to the program code, andthe at least one operation chosen based on a step described by the query plan, andat least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph;
receiving data from the data source;
identifying an executing system other than a system managing a relational database storing data of the data source; and
executing, on the identified executing system, program code based on the dataflow graph.
3 Assignments
0 Petitions
Accused Products
Abstract
One method includes receiving a database query, receiving information about a database table in data storage populated with data elements, producing a structural representation of the database table that includes a formatted data organization reflective of the database table and is absent the data elements of the database table, and providing the structural representation and the database query to a plan generator capable of producing a query plan representing operations for executing the database query on the database table. Another method includes receiving a query plan from a plan generator, the plan representing operations for executing a database query on a database table, and 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.
-
Citations
41 Claims
-
1. A method of operating on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including:
-
receiving a query; identifying a data source based on the query; identifying a requesting system other than a system managing a relational database storing data of the data source; generating, by the requesting system, a request to a query planner based on the query; providing, by the requesting system, 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 to be performed by a system managing a relational database; generating a data structure instantiating a dataflow graph that includes; a first node that represents at least one operation to be executed, the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation, the first node associated with information usable by an executing system to make data available to the program code, and the at least one operation chosen based on a step described by the query plan, and at least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph; receiving data from the data source; identifying an executing system other than a system managing a relational database storing data of the data source; and executing, on the identified executing system, program code based on the dataflow graph. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for operating on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the system including:
-
a computer system configured for; receiving a query; identifying a data source based on the query; identifying a requesting system other than a system managing a relational database storing data of the data source; generating, by the requesting system, a request to a query planner based on the query; providing, by the requesting system, 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 to be performed by a system managing a relational database; generating a data structure instantiating a dataflow graph that includes; a first node that represents at least one operation to be executed, the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation, the first node associated with information usable by an executing system to make data available to the program code, and the at least one operation chosen based on a step described by the query plan, and at least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph; receiving data from the data source; identifying an executing system other than a system managing a relational database storing data of the data source; and providing the program code based on the dataflow graph to the identified executing system; a requesting system other than a system managing a relational database storing data of the data source, the requesting system configured to generate and provide the request to the query planner; and an executing system other than a system managing a relational database storing data of the data source, the executing system configured to receive the program code and execute the program code. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
-
25. A computer-readable storage device storing a computer program including instructions for causing a computer to operate on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including:
-
receiving a query; identifying a data source based on the query; identifying a requesting system other than a system managing a relational database storing data of the data source; generating, by the requesting system, a request to a query planner based on the query; providing, by the requesting system, 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 to be performed by a system managing a relational database; generating a data structure instantiating a dataflow graph that includes; a first node that represents at least one operation to be executed, the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation, the first node associated with information usable by an executing system to make data available to the program code, and the at least one operation chosen based on a step described by the query plan, and at least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph; receiving data from the data source; identifying an executing system other than a system managing a relational database storing data of the data source; and providing the program code based on the dataflow graph to the identified executing system. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32)
-
-
33. A system for operating on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, 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; identifying a data source based on the query; identifying a requesting system other than a system managing a relational database storing data of the data source; generating, by the requesting system, a request to a query planner based on the query; providing, by the requesting system, 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 to be performed by a system managing a relational database; generating a data structure instantiating a dataflow graph that includes; a first node that represents at least one operation to be executed, the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation, the first node associated with information usable by an executing system to make data available to the program code, and the at least one operation chosen based on a step described by the query plan, and at least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph; receiving data from the data source; identifying an executing system other than a system managing a relational database storing data of the data source and providing the program code based on the dataflow graph to the identified executing system; and means for receiving the program code and executing the program code.
-
-
34. A method of operating on data from a data source, the data stored in a tangible, non-transitory computer-readable medium of the data source, the operating based on a query that is expressed in accordance with a query language applicable to a relational database, the operating including:
-
receiving a query; identifying a data source based on the query; identifying an executing system other than a system managing a relational database storing data of the data source; generating a structural representation of data of the data source, the structural representation including a formatted data organization reflective of the data source and absent at least some of the data of the data source; generating a request to a query planner based on the query, the request instructing the query planner to generate a query plan based on the query and providing the structural representation as data to be acted upon by 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 to be performed by a system managing a relational database; generating a data structure instantiating a dataflow graph that includes; a first node that represents at least one operation to be executed, the first node associated with information usable by an executing system to invoke executable program code to perform the at least one operation, the first node associated with information usable by an executing system to make data available to the program code, and the at least one operation chosen based on a step described by the query plan, and at least one link that represents output data of an operation of the first node being provided as input data to an operation of a second node of the dataflow graph; receiving data from the data source; and executing, on the identified executing system, program code based on the dataflow graph. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41)
-
Specification