System and method for implementing parallel operations in a database management system
First Claim
1. 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 requests;
wherein said nodes execute operations in parallel with each other.
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
31 Claims
-
1. 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 requests; wherein said nodes execute operations in parallel with each other. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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 requests; wherein said nodes execute operations independently of each other. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A database management apparatus for indicating a database operation request to a plurality of database processors in a parallel processor system wherein nodes execute independently, comprising:
a query processor having functions 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 of said retrieval request; a distributing processor for distributing the generated database operation requests to each of said database processors; a result correcting processor for receiving the result of said database operation, outputted from each of said database processors; and outputting the result of the processes to said retrieval requests. - View Dependent Claims (12, 13)
-
14. A query operation method, in a database management apparatus for indicating a database operation request to a plurality of database processors in a parallel processor system wherein nodes execute independently, and having a query processor, comprising processes performed by said query processor of:
-
analyzing an inputting 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 of said retrieval request; receiving the result of said database operation executed to the generated plurality of database operation request; and outputting the results of the processes to said retrieval request. - View Dependent Claims (15, 16)
-
-
17. 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 nodes execute operations independently of each other. - View Dependent Claims (18, 19, 20, 21)
-
-
22. 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 plurality of nodes execute operations independently of each other. - View Dependent Claims (23, 24, 25)
-
-
26. A database management apparatus for indicating a database operation request to a plurality of database processors in a parallel processor system wherein nodes execute independently, comprising:
-
a join processor having a function of analyzing an inputted join request; a distributing processor for distributing a join operation key to a plurality of database processors 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 database processors; and a result correcting processor for receiving the result of said join operation processes of said join operation request, from each of said database processors, and outputting the result of said join operation processes. - View Dependent Claims (27, 28)
-
-
29. A query operation method, in a database management apparatus for indicating a database operation request to a plurality of database processors in a parallel processor system wherein nodes execute independently, and having a query processor, comprising processes performed by said query processor of:
-
analyzing an inputted query request; distributing a join operation key to a plurality of database processors based upon a key range of a join operation key, generating a plurality of join operation requests corresponding to the distributed join operation keys, distributing the generated plurality of join operation requests to each of said database processors, receiving the result of said join operation processes of said join operation request, from each of said database processors, and outputting the result of said join operation processes. - View Dependent Claims (30, 31)
-
Specification