Patent ID: 8386508

Claim:
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 search query for searching a database, the input search query based on a number of query evaluator nodes available for processing the input search query and processing characteristics of the available query evaluator nodes, the query evaluator nodes accessing one or more databases being referenced by the input search query for processing the input search query; b. a query splitter module for fragmenting the input search query into a plurality of distinct sub queries by adding to the input search query, one or more filter predicates that were not part of the input search query, wherein each sub query includes a string representing the entire input search query and additionally including at least one of the one or more filter predicates, such that each of the plurality of sub-queries is distinguishable from other sub-queries within the plurality; 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 search input query.