1. A method for processing a collection of tree data structures in a computer-readable database, the method comprising: identifying a plurality of disjoint sets of trees in the collection of tree data structures, each tree in the respective set of trees having a same structure and including at least one leaf node having a value; for each of the plurality of disjoint sets of trees, forming a pattern having the same structure as each tree in the set of trees thereby generating a set of patterns; storing the set of patterns in a computer-readable memory in lieu of storing the plurality of sets of trees corresponding to each pattern; storing the at least one leaf node of each tree of each of the sets of trees in a computer-readable memory; associating each pattern in the set of patterns with the at least one leaf node of each tree in the set of trees corresponding to the pattern; and processing the set of patterns with distributed processors, wherein each distributed processor processes one or more of the patterns in the set of patterns.