Hash-based methods
Challenge: careful memory allocations of multiple hash-tables for incorporating optimizations cache-results and amortize-scans
Answer:partition the data on one or more attributes
- when data is partitioned on A, all group-bys that contain A can be computed by independently grouping on each partition