Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
First Claim
Patent Images
1. A digital data processing system comprising:
- A. a database table for storing data records in a plurality of independently accessible partitions, and a database management system (DBMS) coupled to said database table for accessing data records stored therein by any of a direct reference to said database table and to views thereof, said DBMS including a standard interface for receiving a query signal representative of a request for access to one or more selected data records and for applying that request to said stored data records to generate a result signal representative of the result thereof,B. a parallel interface for intercepting, from an application, a selected query signal representative of a request for access to selected data records in said database table, said parallel interface includingi. a query decomposer for generating, from said intercepted query signal, a plurality of subquery signals, each representative of a request for access to data records stored in one or more respective partitions of said database table,ii. a subquery processor coupled to said query decomposer for applying in parallel to said standard interface said plural subquery signals, andiii. a result assembler, coupled to said standard interface, for responding to result signals generated thereby in response to application of said subquery signals for generating an assembled result signal representative of a response to said query signal.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved system for database query processing by means of "query decomposition" intercepts database queries prior to processing by a database management system ("DBMS"). The system decomposes at least selected queries to generate multiple subqueries for application, in parallel, to the DBMS, in lieu of the intercepted query. Responses by the DBMS to the subqueries are assembled by the system to generate a final response. The system also provides improved methods and apparatus for storage and retrieval of records from a database utilizing the DBMS'"'"'s cluster storage and index retrieval facilitates, in combination with a smaller-than-usual hash bucket size.
-
Citations
71 Claims
-
1. A digital data processing system comprising:
-
A. a database table for storing data records in a plurality of independently accessible partitions, and a database management system (DBMS) coupled to said database table for accessing data records stored therein by any of a direct reference to said database table and to views thereof, said DBMS including a standard interface for receiving a query signal representative of a request for access to one or more selected data records and for applying that request to said stored data records to generate a result signal representative of the result thereof, B. a parallel interface for intercepting, from an application, a selected query signal representative of a request for access to selected data records in said database table, said parallel interface including i. a query decomposer for generating, from said intercepted query signal, a plurality of subquery signals, each representative of a request for access to data records stored in one or more respective partitions of said database table, ii. a subquery processor coupled to said query decomposer for applying in parallel to said standard interface said plural subquery signals, and iii. a result assembler, coupled to said standard interface, for responding to result signals generated thereby in response to application of said subquery signals for generating an assembled result signal representative of a response to said query signal. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
-
48. A digital data processing system comprising
A. a database table comprising a secondary data store for storing and retrieving signals representative of said data records, B. a database management system (DBMS) comprising i. a selectively invocable hashing element for storing said data record-representative signals in hash bucket regions in said secondary data store, each such data record-representative signal being stored in a root hash bucket region corresponding to a hash function of a value of the corresponding data record, or an overflow hash bucket region associated with that root hash bucket region, ii) a selectively invocable indexer for selectively indexing each data record-representative signal so stored for access in accord with a respective value of the corresponding data record, C. said query decomposer includes: -
i) a hash bucket identifier for detecting whether said data record-representative signals are stored in said hash bucket regions based on a hash function of a value upon which those same data record-representative signals are indexed, and ii) a record selection specifier for selectively specifying, in connection with applying said plural subquery signals to said standard interface, that said data record-representative signals are to be retrieved from said database table based on such indexing. - View Dependent Claims (49)
-
-
50. A method of operating a digital data processing system of the type having a database table for storing data records in a plurality of independently accessible partitions, a database management system (DBMS) coupled to said database table, for accessing data records stored therein by any of a direct reference to said database table and to views thereof, said DBMS including a standard interface for receiving a query signal representative of a request for access to one or more selected data records and applying that request to said stored data records to generate a result signal representative of the result thereof, the method comprising the steps of
A. receiving a selected query signal representative of a request for access to selected data records in said database table, B. decomposing said query to generate, from said intercepted query signal, a plurality of subquery signals, each representative of a request for access to data records stored in one or more respective partitions of said database table, C. concurrently applying in a parallel processing step said plural subquery signals to said standard interface, and D. responding in an assembly step to result signals generated in response to application of said subquery signals to generate an assembled result signal representative of a response to said query signal.
-
70. A method of operating a digital data processing system comprising a secondary data store for storing and retrieving signals representative of said data records, and database management system (DBMS) includes
i. a selectively invocable hashing element for storing said data record-representative signals in hash bucket regions in said secondary data store, each such data record-representative signal being stored in a root hash bucket region corresponding to a hash function of a value of the corresponding data record, or an overflow hash bucket region associated with that root hash bucket region, ii) a selectively invocable indexer for selectively indexing each data record-representative signal so stored for access in accord with a respective value of the corresponding data record, said method decomposing a query, including the steps of: -
A) detecting whether said data record-representative signals are stored in said hash bucket regions based on a hash function of a value upon which those same data record-representative signals are indexed, and B) selectively specifying, in connection with applying said plural subquery signals to said standard interface, that said data record-representative signals are to be retrieved from said database table based on such indexing. - View Dependent Claims (71)
-
Specification