Parallel database processing system and retrieval method using secondary key
First Claim
1. A method of retrieving a database by using a secondary key in a parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, wherein one table containing a number of records is partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in a corresponding one of said local database processing means, said global database processing means including a primary key partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes, each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys, secondary key indexes representing correspondence between the values of secondary keys for all records in said one table and access information to said records corresponding to said secondary keys are partitioned on the basis of said values of said secondary keys into local secondary key indexes, each set of said local secondary key indexes being provided in a corresponding one of said local database processing means, and identifying means is provided in said global database processing means, said identifying means being responsive to a retrieval request with said secondary key identifying said local database processing means having said local secondary key index corresponding to said secondary key, said method comprising the steps of:
- a) at said global database processing means, receiving said retrieval request with said secondary key, causing said identifying means to identify the one of said local database processing means having said local secondary key index corresponding to said secondary key, and transferring said retrieval request with said secondary key to said identified one of said local database processing means; and
b) at said identified local database processing means, referring to its own said local secondary key indexes, obtaining said access information corresponding to said transferred retrieval request with said secondary key, and processing said retrieval request with said secondary key by using said access information so that said local table corresponding to said retrieval request with said secondary key is accessed.
1 Assignment
0 Petitions
Accused Products
Abstract
A parallel database processing system a global database processing unit, a plurality of local database processing units, and a network interconnecting the global database processing unit and a plurality of local database processing units, wherein one table containing a number of records is partitioned into local tables, each local table being provided in a corresponding one of the local database processing units, secondary key indexes representing correspondence between the values of secondary keys for all records in the table and access information to the records corresponding to the secondary keys, are partitioned on the basis of the values into local secondary key indexes, each set of the local secondary key indexes being provided in a corresponding one of the local database processing units, and an identifying unit is provided in the global database processing unit, the identifying unit responsive to a retrieval request with the secondary key identifying the local database processing unit having the local secondary key index corresponding to the secondary key. At the global database processing unit, the retrieval request with the secondary key is received, the identifying unit identifies the local database processing unit having the local secondary key index corresponding to the secondary key, and the retrieval request with the secondary key is transferred to the identified local database processing unit. At the identified local database processing unit, its own local secondary key indexes are referred to obtain access information corresponding to the transferred retrieval request with the secondary key, and the retrieval request with the secondary key is processed by using the access information so that the local table corresponding to the retrieval request with the secondary key is accessed.
138 Citations
20 Claims
-
1. A method of retrieving a database by using a secondary key in a parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, wherein one table containing a number of records is partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in a corresponding one of said local database processing means, said global database processing means including a primary key partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes, each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys, secondary key indexes representing correspondence between the values of secondary keys for all records in said one table and access information to said records corresponding to said secondary keys are partitioned on the basis of said values of said secondary keys into local secondary key indexes, each set of said local secondary key indexes being provided in a corresponding one of said local database processing means, and identifying means is provided in said global database processing means, said identifying means being responsive to a retrieval request with said secondary key identifying said local database processing means having said local secondary key index corresponding to said secondary key, said method comprising the steps of:
-
a) at said global database processing means, receiving said retrieval request with said secondary key, causing said identifying means to identify the one of said local database processing means having said local secondary key index corresponding to said secondary key, and transferring said retrieval request with said secondary key to said identified one of said local database processing means; and b) at said identified local database processing means, referring to its own said local secondary key indexes, obtaining said access information corresponding to said transferred retrieval request with said secondary key, and processing said retrieval request with said secondary key by using said access information so that said local table corresponding to said retrieval request with said secondary key is accessed. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of retrieving a database by using a secondary key in a parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, wherein one table containing a number of records is partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in a corresponding one of said local database processing means, said global database processing means including a primary key partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys and secondary key indexes representing correspondence between the values of secondary keys for all records in said one table and said primary keys are provided in said global database processing means or distributed in said plurality of local database processing means, said method comprising the step of:
a) at either said global database processing means and said local database processing means, receiving said retrieval request with said secondary key, referring to said secondary key indexes and converting said retrieval request with said secondary key into a retrieval request with said primary key so that said local table corresponding to said retrieval request with said primary key is accessed. - View Dependent Claims (8, 9, 10, 11, 12)
-
13. A parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, one table containing a number of records being partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in each of said local database processing means, said global database processing means including a primary partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys wherein secondary key indexes representing correspondence between the values of secondary keys for all records in said one table and access information to said records corresponding to said secondary keys, are partitioned on the basis of said values of said secondary keys into fragmented secondary key indexes, each set of said fragmented secondary key indexes being provided in a corresponding one of said local database processing means, said global database processing means includes:
-
identifying means responsive to a retrieval request with said secondary key for identifying said local database processing means having said fragmented secondary key index corresponding to said secondary key; and means for receiving said retrieval request with said secondary key, causing said identifying means to identify said local database processing means having said fragmented secondary key index corresponding to said secondary key, and transferring said retrieval request with said secondary key to said identified local database processing means, and wherein each of said local database processing means includes access means for referring to its own said fragmented secondary key indexes, obtaining said access information corresponding to said transferred retrieval request with said secondary key, and processing said retrieval request with said secondary key by using said access information so that said local table corresponding to said retrieval request with said secondary key is accessed. - View Dependent Claims (14, 15, 16)
-
-
17. A parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, one table containing a number of records being partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in each of said local database processing means, said global database processing means including a primary key partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys wherein
secondary key indexes representing correspondence between the values of secondary keys for all records in said one table and said primary keys, are partitioned on the basis of said values of said secondary keys into fragmented secondary key indexes, each set of said fragmented secondary key indexes being provided in a corresponding one of said local database processing means, wherein said global database processing means includes: -
identifying means, responsive to a retrieval request with said secondary key, for identifying said local database processing means having said fragmented secondary key index corresponding to said secondary key; and means for receiving said retrieval request with said secondary key, causing said identifying means to identify said local database processing means having said fragmented secondary key index corresponding to said secondary key, and transferring said retrieval request with said secondary key to said identified local database processing means, and wherein each said local database processing means includes access means for referring to its own said fragmented secondary key indexes, converting said transferred retrieval request with said secondary key into a retrieval request with said primary key so that so that said local table corresponding to said retrieval request with said primary key is accessed. - View Dependent Claims (18, 19)
-
-
20. A parallel database processing system having global database processing means, a plurality of local database processing means, and a network interconnecting said global database processing means and a plurality of said local database processing means, one table containing a number of records being partitioned into local tables on the basis of values of primary keys, each of said local tables being provided in each said local database processing means, said global database processing means including a primary key partition table responsive to a retrieval request with one of said primary keys for identifying one of said plurality of local database processing means having said local table corresponding to said one of said primary keys, primary key indexes representing correspondence between the values of said primary keys for all records in said one table and storage locations of all records in said local tables being partitioned on the basis of said primary keys into local primary key indexes each set of local primary key indexes being provided in a corresponding one of said plurality of local database processing means having a corresponding one of said local tables, so that said retrieval request with said primary key received by said global database processing means is transferred to a corresponding one of said plurality of local database processing means with reference to said primary key partition table and said corresponding one of said plurality of local database processing means converts the transferred retrieval request with said primary key into a storage location corresponding to said transferred retrieval request with reference to its own set of local primary key indexes to access its own local table based on said storage location thus converted to obtain a record corresponding to said retrieval request with said primary keys, wherein said global database processing means includes:
-
secondary key indexes indicating correspondence between the values of secondary keys of all records of said one table and said primary keys; identifying means for identifying said local database processing means corresponding to said primary key; means for converting said received retrieval request with said secondary key into a retrieval request with said primary key while referring to said secondary key indexes; means responsive to said converted retrieval request with said primary key for identifying said local database processing means corresponding to said primary key by using said identifying means; and means for transferring said retrieval request to said identified local database processing means, and wherein each of said local database processing means includes; primary key indexes indicating correspondence between the values of said primary keys and the locations of said records stored in said local table; and access means for accessing said local table corresponding to said retrieval request with said primary key while referring to said primary key indexes.
-
Specification