Method and System for Executing a Database Query
First Claim
1. A method for executing a query against a database to retrieve desired data from a database table, wherein the database includes a plurality of partitions coupled by a network for storing different portions of said database table based on a partitioning schema, each partition contained within a corresponding network processing node and associated with a partition identifier, and a database catalog accessible to each of said processing nodes and including information indicating data organization in said database, and wherein a plurality of agent modules of at least one of said network processing nodes are each associated with a corresponding networked partition to establish a physical connection with, execute said query against and retrieve said desired data from that networked partition, the method comprising:
- (a) providing a user query for said database at a network processing node in accordance with a user request to retrieve said desired data and retrieving information within said database catalog information associated with said database table containing said desired data and relating to the partitioning schema;
(b) analyzing the contents of the user query and the retrieved database catalog information to determine a specific partition from among said plurality of networked partitions containing the database table portion with the desired data satisfying said user query and identifying a partition identifier associated with the specific partition; and
(c) executing the user query against said specific partition by determining said associated agent module for said specific partition based on said partition identifier and directing said determined agent module to execute said user query against, and retrieve said desired data satisfying said user query from, said specific partition.
2 Assignments
0 Petitions
Accused Products
Abstract
For a database management system installed in a data processing system, the database management system for managing a database having partitions for storing table data based on a partitioning schema, in which each partition has an associated partition identifier, and in which the database has database catalog information associated therewith, a method for executing a query against the database is disclosed. The method includes identifying a partition identifier in accordance with the partitioning schema, selecting the partition identifier based on the contents of the query and the database catalog information, and executing the query against the identified partition. The method improves the execution of queries while minimizing the consumption of network resources.
51 Citations
15 Claims
-
1. A method for executing a query against a database to retrieve desired data from a database table, wherein the database includes a plurality of partitions coupled by a network for storing different portions of said database table based on a partitioning schema, each partition contained within a corresponding network processing node and associated with a partition identifier, and a database catalog accessible to each of said processing nodes and including information indicating data organization in said database, and wherein a plurality of agent modules of at least one of said network processing nodes are each associated with a corresponding networked partition to establish a physical connection with, execute said query against and retrieve said desired data from that networked partition, the method comprising:
-
(a) providing a user query for said database at a network processing node in accordance with a user request to retrieve said desired data and retrieving information within said database catalog information associated with said database table containing said desired data and relating to the partitioning schema; (b) analyzing the contents of the user query and the retrieved database catalog information to determine a specific partition from among said plurality of networked partitions containing the database table portion with the desired data satisfying said user query and identifying a partition identifier associated with the specific partition; and (c) executing the user query against said specific partition by determining said associated agent module for said specific partition based on said partition identifier and directing said determined agent module to execute said user query against, and retrieve said desired data satisfying said user query from, said specific partition. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A database management system for executing a query against a database to retrieve desired data from a database table, wherein the database includes a plurality of partitions coupled by a network for storing different portions of said database table based on a partitioning schema, each partition contained within a corresponding network processing node and associated with a partition identifier, and a database catalog accessible to each of said processing nodes and including information indicating data organization in said database, the system comprising:
-
a data processing system of at least one of said network processing nodes to retrieve desired data from said database table, each said data processing system including; a client module to provide a user query for said database in accordance with a user request to retrieve said desired data; a schema-lookup module to retrieve information within said database catalog information associated with said database table containing said desired data and relating to the partitioning schema; a partition-router module to analyze the contents of the user query and the retrieved database catalog information to determine a specific partition from among said plurality of networked partitions containing the database table portion with the desired data satisfying said user query and to identify a partition identifier associated with the specific partition; and a data-manager module to execute the user query against said specific partition and including; a plurality of agent modules each associated with a corresponding networked partition to establish a physical connection with, execute said user query against and retrieve said desired data from that networked partition; and a query module to determine said associated agent module for said specific partition based on said partition identifier and to direct said determined agent module to retrieve said desired data satisfying said user query from said specific partition. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A program product apparatus having a computer readable medium with computer program logic recorded thereon for executing a query against a database to retrieve desired data from a database table, wherein the database includes a plurality of partitions coupled by a network for storing different portions of said database table based on a partitioning schema, each partition contained within a corresponding network processing node and associated with a partition identifier, and a database catalog accessible to each of said processing nodes and including information indicating data organization in said database, said program product apparatus comprising:
-
a client module for at least one of said network processing nodes to provide a user query for said database in accordance with a user request to retrieve said desired data; a schema-lookup module for said at least one network processing node to retrieve information within said database catalog information associated with said database table containing said desired data and relating to the partitioning schema; a partition-router module for said at least one network processing node to analyze the contents of the user query and the retrieved database catalog information to determine a specific partition from among said plurality of networked partitions containing the database table portion with the desired data satisfying said user query and to identify a partition identifier associated with the specific partition; and a data-manager module to execute the user query against said specific partition and including; a plurality of agent modules each associated with a corresponding networked partition to establish a physical connection with, execute said user query against and retrieve said desired data from that networked partition; and a query module to determine said associated agent module for said specific partition based on said partition identifier and to direct said determined agent module to retrieve said desired data satisfying said user query from said specific partition. - View Dependent Claims (12, 13, 14, 15)
-
Specification