System and method for implementing hash-based load-balancing query processing in a multiprocessor database system
First Claim
1. A query operation method for a query processor in a database management system including a plurality of processors, the method comprising the steps of:
- determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
generating a plurality of database operation requests based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key of said retrieval request, by a second one of said processing functions;
distributing said database operation requests to said processors, by said second processing function, each of said database operation requests corresponding to at least one of said processors;
inputting database operation results by execution of the generated plurality of database operation requests, by a third one of said processing functions; and
outputting a set of said database operation results as a retrieval request result, by said third processing function.
0 Assignments
0 Petitions
Accused Products
Abstract
A database management system for executing database operations in parallel by a plurality of nodes and a query processing method are described. The database management system contains a decision management node for deciding a distribution node for retrieving information so as to analyze a query received from an application program, generate a processing procedure for processing the query, and execute the process and a join node for sorting, merging, and joining the information retrieved by the distribution node. When the query process is executed, the distribution node decided by the decision management node retrieves the information to be processed and the join node decided by the decision management node also obtains the result for the query from the retrieved information. The query result is outputted from an output node and transferred to the application program.
110 Citations
30 Claims
-
1. A query operation method for a query processor in a database management system including a plurality of processors, the method comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
generating a plurality of database operation requests based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key of said retrieval request, by a second one of said processing functions;
distributing said database operation requests to said processors, by said second processing function, each of said database operation requests corresponding to at least one of said processors;
inputting database operation results by execution of the generated plurality of database operation requests, by a third one of said processing functions; and
outputting a set of said database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (3, 4, 6)
a step of dividing the database operation key to obtain a plurality of keys, based upon the list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said database operation key, by said second processing function;
wherein said designating step designates said database operation to said plurality of database processors, assigning each of said plurality of keys respectively.
-
-
4. A query operation method according to claim 1, further comprising:
-
a step of generating a plurality of database operation requests based upon said list of key value ranges, with a set of upper and lower bounds, of said hash code, by said second processing function;
wherein said designating step designates the database operation by distributing each of the generated plurality of database operation requests to said database processors respectively.
-
-
6. A query operation method according to claim 1, wherein said database operation is a join operation, and said database operation key is a join operation key.
-
2. A query operation method in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database processors, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
inputting results of said database operation from the database processors to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function.
-
-
5. A query operation method in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database operation programs, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
inputting results of said database operation from the database operation programs to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (7)
-
-
8. A query operation method in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database processors by assigning one of s aid plurality of keys respectively;
inputting results of said join operation from the database processors to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
9. A query operation method in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database operation programs, by assigning one of said plurality of keys respectively;
inputting results of said join operation from the database operation programs to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
10. A query operation system in a database management system including a plurality of processors, comprising:
-
means for determining a plurality of processing functions, based upon load balancing among said processors;
means for analyzing an input retrieval request by a first one of said processing functions;
means for generating a plurality of database operation requests based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key of said retrieval request, by a second one of said processing functions;
means for distributing said database operation requests to said processors, by said second processing function, each of said database operation requests corresponding to at least one of said processors;
means for receiving database operation results by execution of the generated plurality of database operation requests, by a third one of said processing functions; and
means for outputting a set of the database operation results as a retrieval request result, by said third processing function.
-
-
11. A query operation system in a database management apparatus including a plurality of processors, comprising:
-
means for determining a plurality of processing functions, based upon load balancing among said processors;
means for analyzing an input retrieval request by a first one of said processing functions;
means for designating a database operation to a plurality of database processors, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
means for inputting results of said database operation from the database processors to which the database operation is designated, by a third one of said processing functions; and
means for outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (13)
-
-
12. A query operation system including a plurality of processors, comprising:
-
means for determining a plurality of processing functions, based upon load balancing among said processors;
means for analyzing an input retrieval request by a first one of said processing functions;
means for designating a database operation to a plurality of database operation programs, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
means for inputting results of said database operation from the database operation programs to which the database operation is designated, by a third one of said processing functions; and
means for outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (14)
-
-
15. A query operation system including a plurality of processors, comprising:
-
means for determining a plurality of processing functions, based upon load balancing among said processors;
means for analyzing an input retrieval request by a first one of said processing functions;
means for dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
means for designating by said second processing function, a join operation to each of a plurality of database processors, by assigning one of said plurality of keys respectively;
means for inputting results of said join operation from the database processors to which the corresponding join operation is designated, by a third one of said processing functions; and
means for outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
16. A query operation system including a plurality of processors, comprising:
-
means for determining a plurality of processing functions, based upon load balancing among said processors;
means for analyzing an input retrieval request by a first one of said processing functions;
means for dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
means for designating by said second processing function, a join operation to each of a plurality of database operation programs, by assigning one of said plurality of keys respectively;
means for inputting results of said join operation from the database operation programs to which the corresponding join operation is designated, by a third one of said processing functions; and
means for outputting the join operation results as a retrieval request result, by said third processing function.
-
-
17. A computer readable storage medium storing a query operation program executed in a database management system including a plurality of processors, said program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
generating a plurality of database operation requests based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key of said retrieval request, by a second one of said processing functions;
distributing said database operation requests to said processors, by said second processing function, each of said database operation requests corresponding to at least one of said processors;
receiving database operation results by execution of the generated plurality of database operation requests, by a third one of said processing functions; and
outputting a set of said database operation results as a retrieval request result, by said third processing function.
-
-
18. A computer readable storage medium storing a query operation program executed in a database management system including a plurality of processors, said program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database processors, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied key range of a hash code obtained by a hash function which is assigned to a database operation key, by a second one of said processing functions;
inputting result s of said database operation from the database processors to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (20)
wherein said database operation is a join operation, and wherein said database operation key is a join operation key.
-
-
19. A computer readable storage medium storing a query operation program executed in a database management system including a plurality of processors, said program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database operation programs, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
inputting results of said database operation from the database operation programs to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (21)
wherein said database operation is a join operation, and wherein said database operation key is a join operation key.
-
-
22. A computer readable storage medium storing a query operation program executed in a database management system including a plurality of processors, said program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database processors, by assigning one of said plurality of keys respectively;
inputting results of said join operation from the database processors to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
23. A computer readable storage medium storing a query operation program executed in a database management system including a plurality of processors, said program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database operation programs, by assigning one of said plurality of keys respectively;
inputting results of said join operation from the database operation programs to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
24. A query operation program for a query processor in a database management system including a plurality of processors, the program comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
generating a plurality of database operation requests based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key of said retrieval request, by a second one of said processing functions;
distributing said database operation requests to said processors, by said second processing function, each of said database operation requests corresponding to at least one of said processors;
receiving database operation results by execution of the generated plurality of database operation requests, by a third one of said processing functions; and
outputting a set of said database operation results as a retrieval request result, by said third processing function.
-
-
25. A query operation program in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database processors, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
inputting results of said database operation from the database processors to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (27)
wherein said database operation is a join operation, and wherein said database operation key is a join operation key.
-
-
26. A query operation program in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
designating a database operation to a plurality of database operation programs, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to a database operation key, by a second one of said processing functions;
inputting results of said database operation from the database operation programs to which the database operation is designated, by a third one of said processing functions; and
outputting a set of the database operation results as a retrieval request result, by said third processing function. - View Dependent Claims (28)
wherein said database operation is a join operation key.
-
-
29. A query operation program in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database processors, by assigning one of said plurality of keys respectively;
inputting results of said join operation from the database processors to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
-
30. A query operation program in a database management apparatus including a plurality of processors, comprising the steps of:
-
determining a plurality of processing functions, based upon load balancing among said processors;
analyzing an input retrieval request by a first one of said processing functions;
dividing a join operation key to a plurality of keys, based upon a list of key value ranges, with a set of upper and lower bounds, of a hash code evaluated by a hash function which is applied to said join operation key, by a second one of said processing functions;
designating by said second processing function, a join operation to each of a plurality of database operation programs, by assigning one of said plurality of keys respectively;
inputting results of said join operation from the database operation programs to which the corresponding join operation is designated, by a third one of said processing functions; and
outputting a set of the join operation results as a retrieval request result, by said third processing function.
-
Specification