System for executing a database query
First Claim
1. 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, wherein said database catalog information includes partition maps associating table data with said networked partitions, 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, including a table name of said database table containing said desired data and a partition key value, 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 and store the retrieved information in a catalog cache of said network processing node, wherein said retrieved information includes information identifying said table name and at least one networked partition containing said database table, and wherein the schema-lookup module includes;
a build-cache module to build a subset of the database catalog; and
a store-cache module to store the subset of the database catalog in the catalog cache;
a partition-router module to analyze the partition key value of the user query and partition map information retrieved from the catalog cache pertaining to said database table with said table name and containing said desired data 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
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.
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.
-
Citations
6 Claims
-
1. 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, wherein said database catalog information includes partition maps associating table data with said networked partitions, 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, including a table name of said database table containing said desired data and a partition key value, 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 and store the retrieved information in a catalog cache of said network processing node, wherein said retrieved information includes information identifying said table name and at least one networked partition containing said database table, and wherein the schema-lookup module includes; a build-cache module to build a subset of the database catalog; and a store-cache module to store the subset of the database catalog in the catalog cache; a partition-router module to analyze the partition key value of the user query and partition map information retrieved from the catalog cache pertaining to said database table with said table name and containing said desired data 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 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 (2, 3)
-
4. 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, wherein said database catalog information includes partition maps associating table data with said networked partitions, said program product apparatus comprising:
-
a client module for at least one of said network processing nodes to provide a user query, including a table name of said database table containing said desired data and a partition key value, 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 and store the retrieved information in a catalog cache of said network processing node, wherein said retrieved information includes information identifying said table name and at least one networked partition containing said database table, and wherein the schema-lookup module includes; a build-cache module to build a subset of the database catalog; and a store-cache module to store the subset of the database catalog in the catalog cache; a partition-router module for said at least one network processing node to analyze the partition key value of the user query and partition map information retrieved from the catalog cache pertaining to said database table with said table name and containing said desired data 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 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 (5, 6)
-
Specification