Database management system and query operation therefor, including processing plural database operation requests based on key range of hash code
First Claim
1. A query operation method, in a database management system having a plurality of database processors and a plurality of functions designating database operation requests to said plurality of database processors, said method comprising the steps of:
- analyzing an inputted query request;
generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key;
sending the generated plurality of database operation requests to at least one of said database processors; and
independently executing database operations in the database processors in response to the database operation requests.
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.
-
Citations
23 Claims
-
1. A query operation method, in a database management system having a plurality of database processors and a plurality of functions designating database operation requests to said plurality of database processors, said method comprising the steps of:
-
analyzing an inputted query request;
generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key;
sending the generated plurality of database operation requests to at least one of said database processors; and
independently executing database operations in the database processors in response to the database operation requests. - View Dependent Claims (2, 3)
a step of sending a data retrieval request to at least one of said database processors.
-
-
3. A query operation method according to claim 2, further comprising:
a step of sending a request of sorting data retrieved as a result of said data retrieval request, to said at least one of said database processors to which said data retrieval request was sent.
-
4. A query operation program, executable in a database management system having a plurality of database processors and a plurality of functions designating database operation requests to said plurality of database processors, said program comprising:
-
a step of analyzing an inputted query request;
a step of generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key;
a step of sending the generated plurality of database operation requests to at least one of said database processors; and
a step of independently executing database operations in the database processors in response to the database operation requests.
-
-
5. A computer readable storage medium storing a query operation program for execution in a database management system having a plurality of database processors and a plurality of functions designating database operation requests to said plurality of database processors, said program comprising:
-
a step of analyzing an inputted query request;
a step of generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key;
a step of sending the generated plurality of database operation requests to at least one of said database processors; and
a step of independently executing database operations in the database processors in response to the database operation requests.
-
-
6. A database management system, comprising:
-
a plurality of database processors;
means for designating database operation requests to said plurality of database processors;
means for analyzing an inputted query request;
means for generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key;
means for sending the generated plurality of database operation requests to at least one of said database processors; and
means for independently executing database operations in the database processors in response to the database operation requests. - View Dependent Claims (7, 8)
-
-
9. A database management system having a plurality of database processors plurality of functions designating database operation requests to said plurality of database processors, said database management system comprising:
-
a first processor for analyzing an inputted query request, and for generating a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
a second processor for sending the generated plurality of database operation requests to at least one of said database processors;
wherein said plurality of database processors independently execute database operations in response to the database operation requests. - View Dependent Claims (10, 11)
means for sending a data retrieval request to at least one of said database processors.
-
-
11. A database management system according to claim 10, wherein said second processor further comprises:
means for sending a request of sorting data retrieved as a result of said data retrieval request, to said at least one of said database processors to which said data retrieval request was sent.
-
12. A query operation method for a database management system having a plurality of database processors, comprising the steps of:
-
analyzing an inputted query request;
generating and outputting a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
independently executing database operations in the database processors in response to the plurality of database operation requests. - View Dependent Claims (13)
-
-
14. A query operation program, executable in a database management system having a plurality of database processors and a plurality of functions designating database operation requests to said plurality of database processors, said program comprising:
-
a step of analyzing an inputted query request;
a step of generating and outputting a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
a step of independently executing database operations in the database processors in response to the database operation requests. - View Dependent Claims (15)
-
-
16. A computer readable storage medium storing a query operation program for execution in a database management system having a plurality of database processors, and a plurality of functions designating database operation requests to said plurality of database processors, said program comprising:
-
a step of analyzing an inputted query request;
a step of generating and outputting a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
a step of independently executing database operations in the database processors in response to the database operation requests. - View Dependent Claims (17)
-
-
18. A query operation apparatus for a database management system having a plurality of database processors, comprising:
-
means for analyzing an inputted query request;
means for generating and outputting a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
means for independently executing database operations in the database processors in response to the plurality of database operation requests.
-
-
19. A query operation apparatus, comprising:
-
a first processor for analyzing an inputted query request;
a second processor for generating and outputting a plurality of database operation requests corresponding to the analyzed query request, based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key; and
a plurality of third processors for receiving the plurality of database operation requests and independently executing database operations in response to the database operation requests.
-
-
20. A database management system comprising:
-
a plurality of first nodes each having a storage unit for storing data constituting a database, and a controller for retrieving data from said storage unit in accordance with a retrieval request and for sending the retrieved data;
a plurality of second nodes each having a processor for executing a database operation on the data sent from at least one of said first nodes, in accordance with an inputted request for the database operation, and for outputting the result of said database operation; and
a third node having a processor for analyzing an inputted retrieval request, generating a plurality of database operation requests based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key, and distributing the generated database operation requests to each of said second nodes, and further generating a plurality of data retrieval requests for retrieving the data to be retrieved by said data retrieval request, said third node further having a controller for sending the generated data retrieval requests to each of said first nodes, receiving the result of said database operation operated in accordance with said database operation request from each of said second nodes, and outputting the result of said retrieval conducted in accordance with said retrieval request;
wherein said second nodes execute operations in parallel with each other.
-
-
21. A query processing method performed in a database management system having a plurality of first nodes, a plurality of second nodes and a third node, said method comprising:
-
a process performed by said first nodes of retrieving data from a storage unit in said first nodes in accordance with a retrieval request, and sending the retrieved data;
a process performed by said second nodes of executing a database operation on the data sent from at least one of said first nodes, in accordance with an inputted request for the database operation, and outputting the result of said database operation; and
a process performed by said third node of analyzing an inputted retrieval request, generating a plurality of database operation requests based upon a key range of a hash code obtained by a hash function which is assigned in advance to a database operation key, and distributing the generated database operation requests to each of said second nodes, and further generating a plurality of data retrieval requests for retrieving the data to be retrieved by said database retrieval request, sending the generated data retrieval requests to each of said first nodes, receiving the result of said database operation operated in accordance with said database operation request from each of said second nodes, and outputting the result of said retrieval conducted in accordance with said retrieval request;
wherein said second nodes execute operations independently of each other.
-
-
22. A database management system comprising:
-
a plurality of first nodes each having a storage unit for storing data constituting a database, and a controller for retrieving data from said storage unit in accordance with a retrieval request and for sending the retrieved data;
a plurality of second nodes each having a processor for executing a join operation on the data sent from at least one of said first nodes, in accordance with an inputted request for the join operation, and for outputting the result of said join operation; and
a third node having a processor for analyzing an inputted join operation request, distributing a join operation key to a plurality of second nodes based upon a key range of join operation key, generating a plurality of join operation requests corresponding to the distributed join operation keys, and distributing the generated plurality of join operation requests to each of said second nodes, and further generating a plurality of data retrieval requests to be operated in said join operation request, said third node further having a controller for sending the generated data retrieval requests to each of said first nodes, receiving the result of said join operation operated in accordance with said join operation request from each of said second nodes, and outputting the result of said operation conducted in accordance with said join operation request;
wherein said second nodes execute operations independently of each other.
-
-
23. A query processing method in a database management system having a plurality of first nodes, a plurality of second nodes, and a plurality of third nodes, said method comprising:
-
a step performed in at least one of said first nodes, of retrieving data from a storage unit in accordance with a retrieval request and sending the retrieved data, each of said first nodes having said storage unit for storing data constituting a database;
a step performed in at least one of said second nodes, of executing a join operation on the data sent from at least one of said first nodes, in accordance with an inputted request for the join operation, and outputting the result of said join operation; and
a step performed in at least one of said third nodes, of analyzing an inputted join operation request, distributing a join operation key to a plurality of second nodes based upon a key range of a join operation key, generating a plurality of join operation requests corresponding to the distributed join operation keys, and distributing the generated plurality of join operation requests to each of said second nodes, and further generating a plurality of data retrieval requests to be operated in said join operation request, sending the generated data retrieval requests to each of said first nodes, receiving from each of said second nodes the result of said join operation in accordance with said join operation request, and outputting the result of said operation conducted in accordance with said join operation request;
wherein said second nodes execute operations independently of each other.
-
Specification