Parallel partition-wise aggregation
First Claim
1. A method of performing, in parallel, an aggregation operation on data items that reside in one or more containers, wherein the aggregation operation aggregates the data items based on groups established by one or more grouping keys, the method comprising:
- determining that at least one of the one or more grouping keys is related to at least one partition key used to establish partitions of the one or more containers;
based on the partitions, establishing scan assignments that dictate which portions of the one or more containers are to be scanned by each slave of a plurality of slaves;
each slave of the plurality of slaves scanning one or more portions of the one or more containers based on the scan assignments; and
based on the one or more grouping keys, aggregating the data items scanned by the plurality of slaves.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are provided for performing a parallel aggregation operation on data that resides in a container, such as a relational table. During generation of the execution plan for the operation, it is determined whether partition-wise aggregation should be performed, based on the grouping keys involved in the aggregation and the partition keys used to partition the container. If partition-wise aggregation is to be performed, then the assignments given to the slave processes that are assigned to scan a container are made on a partition-wise basis. The scan slaves themselves may perform full or partial aggregation (depending on whether they are the only scan slaves assigned to the partition). If the scan slaves perform no aggregation, or only partial aggregation, then the scan slaves redistribute the data items to aggregation slaves that are local to the scan slaves.
54 Citations
26 Claims
-
1. A method of performing, in parallel, an aggregation operation on data items that reside in one or more containers, wherein the aggregation operation aggregates the data items based on groups established by one or more grouping keys, the method comprising:
-
determining that at least one of the one or more grouping keys is related to at least one partition key used to establish partitions of the one or more containers;
based on the partitions, establishing scan assignments that dictate which portions of the one or more containers are to be scanned by each slave of a plurality of slaves;
each slave of the plurality of slaves scanning one or more portions of the one or more containers based on the scan assignments; and
based on the one or more grouping keys, aggregating the data items scanned by the plurality of slaves. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification