SYSTEM AND METHOD FOR PARALLEL QUERY EVALUATION
First Claim
1. A system for parallel query processing comprising:
- a. a query fragment identifier module for estimating a number of sub-queries that may be formed corresponding to an input query based on a number of query evaluator nodes available for processing the input query and processing characteristics of the available query evaluator nodes, the query evaluator nodes accessing one or more databases being referenced by the input query for processing the input query;
b. a query splitter module for fragmenting the input query into a plurality of sub queries by adding one or more filter predicates to the input query without altering the semantics of the input query;
c. a scheduler for scheduling the processing of the sub queries;
d. a result aggregator module for aggregating results of the processed sub queries;
e. a streaming module for streaming results of the processed sub queries; and
f. a metadata manager for storing processing characteristics of the one or more query evaluator nodes and information regarding the one or more databases being referenced by the input query.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for parallel query processing is provided. The method includes estimating a number of sub-queries that may be formed corresponding to an input query. The method further includes fragmenting the input query into a plurality of sub queries by adding one or more filter predicates to the input query without altering the semantics of the input query. Further, processing of the sub queries is scheduled. Thereafter, one or more query execution plans are generated and processed. Following the processing of the query execution plans, the results of the processed sub queries are collated, aggregated and presented in a required format.
-
Citations
16 Claims
-
1. A system for parallel query processing comprising:
-
a. a query fragment identifier module for estimating a number of sub-queries that may be formed corresponding to an input query based on a number of query evaluator nodes available for processing the input query and processing characteristics of the available query evaluator nodes, the query evaluator nodes accessing one or more databases being referenced by the input query for processing the input query; b. a query splitter module for fragmenting the input query into a plurality of sub queries by adding one or more filter predicates to the input query without altering the semantics of the input query; c. a scheduler for scheduling the processing of the sub queries; d. a result aggregator module for aggregating results of the processed sub queries; e. a streaming module for streaming results of the processed sub queries; and f. a metadata manager for storing processing characteristics of the one or more query evaluator nodes and information regarding the one or more databases being referenced by the input query. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for parallel query processing comprising the steps of:
-
a. estimating a number of sub-queries that may be formed corresponding to an input query; b. fragmenting the input query into a plurality of sub queries by adding one or more filter predicates to the input query without altering the semantics of the input query; c. scheduling the processing of the sub queries; d. generating one or more query execution plans comprising one or more query partitions corresponding to each sub query; e. processing the generated one or more query execution plans; and f. collating, aggregating and presenting results of the processed sub queries in a required format. - View Dependent Claims (10, 11, 12)
-
-
13. A computer program product comprising a computer usable medium having a computer readable program code embodied therein for parallel query processing comprising:
-
a. program instruction means for estimating a number of sub-queries that may be formed corresponding to an input query; b. program instruction means for fragmenting the input query into a plurality of sub queries by adding one or more filter predicates to the input query without altering the semantics of the input query; c. program instruction means for scheduling the processing of the sub queries; d. program instruction means for generating one or more query execution plans comprising one or more query partitions corresponding to each sub query; e. program instruction means for processing the generated one or more query execution plans; and f. program instruction means for collating, aggregating and presenting results of the processed sub queries in a required format. - View Dependent Claims (14, 15, 16)
-
Specification