Patent ID: 8943058
Filing Date: 2015-01-27
Classification: G06F

Abstract:
1. A method for use in a database system having a plurality of processing units, comprising: receiving a request to calculate aggregates of multiple column combinations of a given set of columns, wherein each aggregate is requested to be calculated from a respective column combination of the multiple column combinations; dividing the plurality of processing units into a number of groups, wherein each of the groups includes a respective subset of the processing units, and wherein the number of groups is based on a total number of the multiple column combinations of the given set of columns, a number of the plurality of processing units, and a size of cache memory per processing unit; determining a predetermined number of passes to calculate the aggregates by each of the groups, wherein the number is one or greater, wherein the predetermined number of passes is determined prior to calculation of the aggregates by each of the groups; within each of the groups, replicating data of each processing unit in the group to other one or more processing units in the group; and within each of the groups, calculating aggregates of at least some of the multiple column combinations of the given set of columns by the processing units in the group using the replicated data, wherein the processing units in each group are executable on one or more processors.