1. A method of processing data, comprising: receiving a set of data to be inserted in a hierarchical database; associating a set of child nodes with at least one parent node in the hierarchical database; accessing a plurality of sets of spreading rules to distribute data from the at least one parent node to the corresponding set of child nodes; executing a series of distributions of the data from the at least one parent node to the corresponding set of child nodes based on the plurality of sets of spreading rules; capturing a range of outputs extracted from the set of child nodes based on the series of distributions; and generating selected sets of spreading rules from the plurality of sets of spreading rules based on the range of outputs.