Abstract:
System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by pushing down join query processing to data nodes recursively. An embodiment method includes receiving, at a coordinator process, a join query associated with a plurality of tables of the MPP database system, generating, at the coordinator process, an execution plan tree for the join query, and processing, at each of a plurality of data nodes communicating with the coordinator process, the execution plan tree to obtain join query results. The method further includes, upon detecting a next join operator below a top join operator in the execution plan tree at each of the data nodes, forwarding to the other data nodes a sub-tree for the next join operator, and receiving, at each of the data nodes from the other data nodes, sub-tree processing results.
Abstract:
System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by selecting one or more stationary tables for processing the query plan. In an embodiment method, a join query associated with a plurality of tables of the MPP database system is received at a coordinator process. Stationary tables are then selected from the tables according to table partition keys in the join query. The stationary tables are indicated and the join query are sent to a plurality of data nodes communicating with the coordinator process. At each of the data nodes, an execution plan for the join query is generated. Each of the data nodes then executes the execution plan to obtain query results without sharing information of the stationary tables between the data nodes.
Abstract:
Queries may be processed more efficiently in an massively parallel processing (MPP) database by locally optimizing the global execution plan. The global execution plan and a semantic tree may be provided to MPP data nodes by an MPP coordinator. The MPP data nodes may then use the global execution plan and the semantic tree to generate a local execution plan. Thereafter, the MPP data nodes may select either the global execution plan or the local execution plan is accordance with a cost evaluation.
Abstract:
System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by pushing down join query processing to data nodes recursively. An embodiment method includes receiving, at a coordinator process, a join query associated with a plurality of tables of the MPP database system, generating, at the coordinator process, an execution plan tree for the join query, and processing, at each of a plurality of data nodes communicating with the coordinator process, the execution plan tree to obtain join query results. The method further includes, upon detecting a next join operator below a top join operator in the execution plan tree at each of the data nodes, forwarding to the other data nodes a sub-tree for the next join operator, and receiving, at each of the data nodes from the other data nodes, sub-tree processing results.
Abstract:
Queries may be processed more efficiently in an massively parallel processing (MPP) database by locally optimizing the global execution plan. The global execution plan and a semantic tree may be provided to MPP data nodes by an MPP coordinator. The MPP data nodes may then use the global execution plan and the semantic tree to generate a local execution plan. Thereafter, the MPP data nodes may select either the global execution plan or the local execution plan is accordance with a cost evaluation.
Abstract:
System and method embodiments are provided for improving the performance of query processing in a massively parallel processing (MPP) database system by selecting one or more stationary tables for processing the query plan. In an embodiment method, a join query associated with a plurality of tables of the MPP database system is received at a coordinator process. Stationary tables are then selected from the tables according to table partition keys in the join query. The stationary tables are indicated and the join query are sent to a plurality of data nodes communicating with the coordinator process. At each of the data nodes, an execution plan for the join query is generated. Each of the data nodes then executes the execution plan to obtain query results without sharing information of the stationary tables between the data nodes.