Guia de rastreamento dinâmico Solaris

Funções de agregação

Uma função de agregação tem a seguinte propriedade:

f(f(x0) U f(x 1) U ... U f(xn)) = f(x 0 U x1  U ... U xn)

onde xn é um conjunto de dados arbitrários. Ou seja, ao aplicar uma função de agregação a subconjuntos do todo e depois aplicá-la de novo aos resultados, o resultado é o mesmo que aplicá-la ao próprio todo. Por exemplo, considere uma função SUM que retorna a soma de um determinado conjunto de dados. Se os dados não processados consistirem em {2, 1, 2, 5, 4, 3, 6, 4, 2}, o resultado da aplicação de SUM a todo o conjunto será {29}. De forma similar, o resultado da aplicação de SUM ao subconjunto consistindo nos três primeiros elementos é {5}, o resultado da aplicação de SUM ao conjunto consistindo nos três elementos subseqüentes é {12}, e o resultado da aplicação de SUM aos três elementos restantes também é {12}. SUM é uma função de agregação porque quando aplicada ao conjunto desses resultados, {5, 12, 12}, é produzido o mesmo resultado, {29}, que ao aplicar SUM aos dados originais.

Nem todas as funções são de agregação. Um exemplo de uma função que não é de agregação é a MEDIAN que determina o elemento mediano do conjunto. (O elemento mediano de um conjunto é aquele para o qual existem tantos elementos maiores que ele quanto menores). MEDIAN é derivada classificando-se o conjunto e selecionando-se o elemento do meio. Retornando aos dados não processados originais, se MEDIAN for aplicada ao conjunto consistindo nos três primeiros elementos, o resultado será {2}. (O conjunto classificado é {1, 2, 2}; {2} é o conjunto que consiste no elemento do meio). Da mesma forma, quando MEDIAN é aplicada aos próximos três elementos, o resultado é {4} e quando MEDIAN é aplicada aos três elementos finais, o resultado é {4}. Quando MEDIAN é aplicada a cada um dos subconjuntos, o resultado é o conjunto {2, 4, 4}. Se MEDIAN for aplicada a esse conjunto, o resultado será {4}. Entretanto, a classificação do conjunto original resulta em {1, 2, 2, 2, 3, 4, 4, 5, 6}. Se MEDIAN for aplicada a esse conjunto, o resultado será {3}. Como esses resultados não coincidem, MEDIAN não é uma função de agregação.

Muitas funções comuns para compreensão de um conjunto de dados são funções de agregação. Essas funções incluem a contagem do número de elementos do conjunto, o cálculo do valor mínimo do conjunto, o cálculo do valor máximo do conjunto e a soma de todos os elementos no conjunto. A determinação da média aritmética do conjunto pode ser construída a partir da função para contar o número de elementos do conjunto e a função para somar o número de elementos do conjunto.

Entretanto, muitas funções úteis não são funções de agregação. Essas funções incluem o cálculo do modo (o elemento mais comum) de um conjunto, o valor mediano do conjunto ou o desvio padrão do conjunto.

A aplicação de funções de agregação aos dados quando são rastreados possui algumas vantagens: