Patent attributes
A system and computer implemented method for execution of aggregation expressions on a distributed non-relational database system is provided. The method comprises the acts of determining, by a computer system, an optimization for execution of an aggregation operation, wherein the aggregation operation includes a plurality of data operations on a distributed non-relational database; modifying, by the computer system, the plurality of data operations to optimize execution; splitting the aggregation operation into a distributed aggregation operation and a merged aggregation operation; instructing each of a plurality of shard servers to perform the distributed aggregation operation; aggregating, at a merging shard server, the results of the distributed aggregation operation from each of the plurality of shard servers; and performing the merged aggregation operation on the aggregated results of the distributed aggregation operation from each of the plurality of shard servers.