Techniques for accessing a parallel database system via external programs using vertical and/or horizontal partitioning
AssigneeTeradata US, Inc.
InventorsYu Xu, Olli Pekka Kostamaa
Life of this patent
Estimating the term…
Abstract
Techniques for accessing a parallel database system via an external program using vertical and/or horizontal partitioning are provided. An external program to a database management system (DBMS) configures external mappers to process a specific portion of query results on specific access module processors of the DBMS that are to house query results. The query is submitted by the external program to the DBMS and the DBMS is directed to organize the query results in a vertical or horizontal manner. Each external mapper accesses its portion of the query results for processing in parallel on its designated AMP or set of AMPS to process the query results.
Claims15
A method implemented and programmed within a non-transitory computer-readable storage medium and processed by one or more processors, the processors configured to execute the method, comprising:
- identifying a total number of distributed mappers available to externally access a parallel Distributed Database Management System (DBMS) and identifying a total number of the multiple access module processors for the DBMS and configuring each of a first subset of mappers to obtain that mapper's unique portion of the query results from a specific access module processor unique to that mapper, and remaining mappers not in the first subset are not assigned any access module processors when the total number of mappers is greater than the total number of access module processors;
- configuring each mapper to interact with a unique portion of query results that are to be produced on multiple access module processors of the DBMS when a query is executed on the DBMS;
- submitting the query a single time over a network to the DBMS and requesting a unique query identifier for the query;
- and
- passing the query identifier received back from the DBMS to each of the mappers, the mappers interacting over the network with the DBMS using the query identifier to process each mapper's unique portion of the query results residing on the multiple access module processors.
A method implemented and programmed within a non-transitory computer-readable storage medium and processed by one or more processors, the processors configured to execute the method, comprising:
- retrieving metadata over a network from a database management system (DBMS);
- submitting a query a single time over the network to the DBMS and using the metadata to direct the DBMS store query results for the query in a partitioned primary index;
- and
- configuring each of a total number of mappers to request from the DBMS, over the network, a unique partition or unique set of partitions created from the partitioned primary index to process query results and identifying a total number of multiple access module processors for the DBMS and configuring each of a first subset of the mappers to obtain that mapper's unique portion of the query results from a specific access module processor unique to that mapper, and remaining mappers not in the first subset are not assigned any access module processors when the total number of mappers is greater than the total number of access module processors.
A method implemented and programmed within a non-transitory computer-readable storage medium and processed by one or more processors, the processors configured to execute the method, comprising:
- receiving a query from an external program over a network requesting a total number of partitions equal to a total number of external mappers associated with the external program, each external mapper using one of the partitions to process a unique portion of query results;
- creating each partition on each access module processor, all of the partitions created in parallel with one another on the access module processors and executing the query to produce the query results;
- assigning a unique portion of rows from the query results to a unique one of the partitions;
- and
- allowing each external mapper to access a specific partition for a specific portion of the query results on a specific access module processor in parallel with each of the remaining external mappers and identifying a total number of the access module processors for a Database Management System (DBMS) and configuring each of a first subset of the external mappers to obtain that external mapper's unique portion of the query results from a specific access module processor unique to that external mapper and remaining external mappers not in the first subset are not assigned any access module processors when the total number of external mappers is greater than the total number of access module processors.
Dependencies are inferred from the claim text.