Load balancing for complex database query plans
First Claim
1. A method for parallelizing a database query plan, comprising:
- positioning an exchange operator in a query tree; and
parallelizing a child operator of the exchange operator into a plurality of parallel child operators, each of the parallel child operators coupled to the exchange operator in a respective branch of a plurality of parallel branches of the query tree.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatuses for improving performance of parallel database query plans are described. An exchange operator is positioned in a query tree. A child operator of the exchange operator is parallelized into a plurality of parallel child operators, each of the parallel child operators coupled to the exchange operator in a respective branch of a plurality of parallel branches of the query tree. An output of each of the plurality of parallel child operators may be buffered at the exchange operator. Furthermore, child operators of the plurality of parallel child operators may also be parallelized. Query plans of any form and containing any number of operators may be parallelized in this manner. Any number of parallel branches may be used, independent of the number of operators in the original plan. The parallelized query plans achieve effective load balancing across all branches.
83 Citations
28 Claims
-
1. A method for parallelizing a database query plan, comprising:
-
positioning an exchange operator in a query tree; and parallelizing a child operator of the exchange operator into a plurality of parallel child operators, each of the parallel child operators coupled to the exchange operator in a respective branch of a plurality of parallel branches of the query tree. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A database query plan tree, comprising:
-
an exchange operator; and a plurality of parallel child operators, each of the parallel child operators coupled to a respective input of the exchange operator in a respective branch of a plurality of parallel branches of the tree. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer program product comprising a computer usable medium having computer readable program code means embodied in said medium for improving performance of a database query plan, said computer readable program code means comprising:
-
computer readable program code means for enabling a processor to position an exchange operator in a query tree; and computer readable program code means for enabling a processor to parallelize a child operator of the exchange operator into a plurality of parallel child operators, each of the parallel child operators coupled to the exchange operator in a respective branch of a plurality of parallel branches of the query tree.
-
Specification