Why MaxN, MinN are Algebraic aggregate functions ?

From: Jack Dull <jack_dull_at_sina.com>
Date: Sun, 18 May 2003 12:15:45 +0800
Message-ID: <ba71i1$ll3$1_at_mail.cn99.com>



Hi, all:
I have a question about 'Algebraic aggregate functions' while I was reading the following paper written by 'Jim Gray': Jim Gray, Adam Bosworth, Andrew Layman, Hamid Pirahesh, Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals, Technical Report MSR-TR-95-22, 1995.

at http://research.microsoft.com/~gray/DataCube.doc

The following is the description of the definition and examples about 'algebraic aggregate function':

 Aggregate function F() is algebraic if there is an M-tuple valued function G() and a function H() such that
F({Xi,j}) = H({G({Xi,j |i=1,.., I}) | j=1,..., J }). Average(), standard deviation, MaxN(), MinN(), center_of_mass() are all algebraic. For Average, the function G() records the sum and count of the subset. The H() function adds these two components and then divides to produce the global average. Similar techniques apply to finding the N largest values, the center of mass of group of objects, and other algebraic functions. The key to algebraic functions is that a fixed size result (an M-tuple) can summarize the sub-aggregation.

My question is that:

Why MaxN, MinN are Algebraic aggregate functions ? What is the H and G functions of Max and Min ?

Jack Dull Received on Sun May 18 2003 - 06:15:45 CEST

Original text of this message