Welcome to DiSC 2003
SIGMOD 2002
PODS 2002
 SIGMOD RECORD 2002
 ADBIS 2002
CIKM 2002
CoopIS 2002
 EDBT 2002
 ER 2002
Data Engineering Bul
DEXA_EC-WEB 2002
DMKD 2002
 DPDJ 2002
HYPERTEXT 2002
ICDE 2002
<<< = ICDE'02 Papers>>>
 = Demos
 = ICDE'02 Posters
ICDM 2002
JCDL 2002
KDD 2002
 KDD_EXPLORATIONS 20
KRDB 2002
MDM 2002
MIS 2002
RIDE 2002
SBBD 2002
 SIGIR 2002
 SIGIR FORUM 2002
SSDBM 2002
TODS 2002
TIME 2002
VLDB 2002
VLDBJ 2002

Data Reduction by Partial Preaggregation


Per-Åke Larson

  View Paper (PDF)  

Return to Session 18: Query Processing and Optimization-2


Abstract

Partial preaggregation is a simple data reduction operator that can be applied to aggregation queries. Whenever we group and aggregate on a column set G, we can preaggregate on any column set that functionally determines G. Preaggregation can be used, for example, to reduce the input size to a join. Regular aggregation reduces the input to one record per group. Partial preaggregation exploits the fact that preaggregation need not be complete-if multiple records happen to be output for a group, they will be combined into the same group by the final aggregation. This paper describes a straightforward hash-based algorithm for partial preaggregation, discusses where it can be applied, and derives a mathematical model for estimating the output size. The effectiveness of the technique and the accuracy of the model are shown on both artificial and real data. It is also shown how to reduce memory requirements by combining partial preaggregation with the input phase of a subsequent join or sort operator. Partial preaggregation has been implemented, in part, in Microsoft SQL Server.


DiSC'03 © 2003 Association for Computing Machinery