Database management system and method for query process for the same
First Claim
1. A parallel database management system comprising:
- at least one distribution node having storage means for distributing and storing a database to be queried and distribution means for retrieving information from said storage means and distributing the retrieved information to other nodes;
a plurality of join nodes each having its own first private storage means, sorting means for sorting information distributed from said distribution node, merge means for merging said plurality of sorted information, if any, and join means for joining a query on the basis of said merged information, using said first private storage means;
a decision management node having its own second private storage means, analysis means for receiving a query, analyzing said query, and generating a query processing procedure using said second private storage means, and decision means for deciding (i) the distribution node on the basis of the query analysis by said analysis means and calculating an expected processing time in said decided distribution node, and (ii) the join node on the basis of said processing time for performing the execution process;
an output node having output means of outputting the result for the query obtained from said join node; and
a network for transferring data between said nodes, wherein said plurality of nodes process independently and said join nodes input the information distributed from said distribution node successively and process each inputted information.
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 for it 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
16 Claims
-
1. A parallel database management system comprising:
-
at least one distribution node having storage means for distributing and storing a database to be queried and distribution means for retrieving information from said storage means and distributing the retrieved information to other nodes; a plurality of join nodes each having its own first private storage means, sorting means for sorting information distributed from said distribution node, merge means for merging said plurality of sorted information, if any, and join means for joining a query on the basis of said merged information, using said first private storage means; a decision management node having its own second private storage means, analysis means for receiving a query, analyzing said query, and generating a query processing procedure using said second private storage means, and decision means for deciding (i) the distribution node on the basis of the query analysis by said analysis means and calculating an expected processing time in said decided distribution node, and (ii) the join node on the basis of said processing time for performing the execution process; an output node having output means of outputting the result for the query obtained from said join node; and a network for transferring data between said nodes, wherein said plurality of nodes process independently and said join nodes input the information distributed from said distribution node successively and process each inputted information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A query processing method in a parallel database management system having a plurality of processing nodes which are connected via a network, wherein each of said processing nodes has a storage unit in which a database is stored, said plurality of nodes having distribution nodes each having storage means for use in storing information for retrieving information from said storage means and for distributing and sorting the retrieved information to other nodes, join nodes, having first private storage means, for use in sorting information distributed from said distribution nodes, merging said sorted information, if any, and merging and joining a query on the basis of said merged information, using said first private storage means, and at least one decision management node, having second private storage means, for receiving said query, analyzing said query, and generating the query processing procedure, and for allocating information processing among the distribution nodes and join nodes on the basis of the query analysis result of said analysis means, the method comprising the steps of:
-
analyzing a query having a condition expression containing a variable in one of said plurality of nodes; generating a plurality of processing procedure candidates to be executed in said plurality of nodes so as to process said query on the basis of said analysis result; retrieving database information to be processed for said query from said plurality of nodes on the basis of the value which is substituted for said variable and the information, indicating the data storage status of said database given beforehand and selecting the distribution node for distributing said database information to other nodes and the join nodes for executing a database operation for the database information distribution by said distribution node; deciding in said decision management node, the processing procedure to be executed by the selected distribution node and join node among said plurality of processing procedure candidates; assigning a process to be executed in each of said distribution node and said join node to said distribution node, and said join node according to the decided processing procedure; and obtaining a process result for said query by executing said assigned process in said distribution node and said join node, wherein said plurality of nodes process independently and said join nodes input the information distributed from said distribution node successively and process each inputted information. - View Dependent Claims (12, 13, 14, 15, 16)
-
Specification