1. A method of determining a node hierarchy for processing a set of queries, comprising: receiving an instance query and a summary query to process data using a cluster of nodes; specifying a first set of nodes in the cluster to process the instance query, the number of nodes to be included in the first set of nodes based at least in part upon a predicted number of first results and an expected capacity of each node of the first set of nodes; determining at least a second set of nodes in the cluster based at least in part upon the predicted number of first results for the instance query to process the summary query, each node of the second set of nodes being a parent node to at least one child node in the first set of nodes and the second set of nodes being distinct from the first set of nodes; scheduling a plurality of jobs each corresponding to at least one of the instance or summary queries, each job to be executed on a single node; causing each node of the first set of nodes to process the instance query, at least a portion of the first set of nodes operable to process the instance query in parallel; causing at least a portion of the second set of nodes to process the summary query when a respective portion of the first set of nodes finishes processing the instance query, at least a portion of the second set of nodes operable to process the summary query in parallel; and storing a result of the summary query to a specified location, wherein the second set of nodes is operable to have a plurality of hierarchical levels such that a parent node of the second set of nodes processes results of at least two child nodes in the second set of nodes, the number of hierarchical levels being based at least in part upon the predicted number of first results and an expected capacity of each node of the second set of nodes.