Handbuch zur dynamischen Ablaufverfolgung in Solaris

Aggregatfunktionen

Eine Aggregatfunktion ist eine Funktion mit den folgenden Eigenschaften:

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

wobei xn eine Menge beliebiger Daten ist. Das bedeutet, dass die Anwendung einer Aggregatfunktion auf Untergruppen des Ganzen und anschließend auf die Ergebnisse dasselbe Resultat erbringt, wie die Anwendung der Funktion auf das Ganze. Betrachten wir zum Beispiel eine Funktion SUM, die die Summe eines gegebenen Datensatzes ergibt. Wenn die unverarbeiteten Daten aus {2, 1, 2, 5, 4, 3, 6, 4, 2} bestehen, dann führt die Anwendung von SUM auf den gesamten Datensatz zum Ergebnis {29}. Analog führt die Anwendung von SUM auf die aus den ersten drei Elementen bestehende Untergruppe zum·Ergebnis \{5\}. Wenn wir SUM auf die drei nachfolgenden Elemente anwenden, erhalten wir \{12\}, und die Anwendung von SUM auf die übrigen drei Elemente ergibt ebenso \{12}. SUM ist eine Aggregatfunktion, da wir durch ihre Anwendung auf die Menge der Ergebnisse, {5, 12, 12}, dasselbe Ergebnis erhalten wie bei Anwendung von SUM auf die ursprünglichen Daten, nämlich \{29\}.

Nicht alle Funktionen haben diese zusammenfassende Wirkung. Ein Beispiel für eine Nicht-Aggregatfunktion ist die Funktion MEDIAN, die das mittlere Element eines Datensatzes ermittelt. (Ein Element, für das in einem Datensatz gleich viele größere wie kleinere Elemente vorhanden sind, ist das mittlere Element im Datensatz.) Der MEDIAN wird durch Sortieren des Datensatzes und Auswahl des mittleren Elements abgeleitet. Kehren wir zu den ursprünglichen unverarbeiteten Daten zurück und wenden wir MEDIAN auf die Untergruppe der ersten drei Elemente an. Das Ergebnis ist {2}. (Der sortierte Satz lautet {1, 2, 2}; {2} ist der aus dem mittleren Element bestehende Satz.) Analog ergibt die Anwendung von MEDIAN auf die nächsten drei Elemente \{4\} und die Anwendung von MEDIAN auf die letzten drei Elemente ebenfalls \{4}. Wenn wir MEDIAN auf die einzelnen Untergruppen anwenden, erhalten wir also den Datensatz {2, 4, 4}. Wenden wir MEDIAN nun auf diesen Satz an, beträgt das Ergebnis {4}. Wenn wir aber den ursprünglichen Satz sortieren, erhalten wir {1, 2, 2, 2, 3, 4, 4, 5, 6}. Das Ergebnis der Anwendung von MEDIAN auf diesen Satz beträgt {3}. Da diese beiden Ergebnisse nicht übereinstimmen, ist MEDIAN keine Aggregatfunktion.

Viele gebräuchliche Funktionen für die Analyse von Datensätzen sind Aggregatfunktionen. Dazu gehören Funktionen zum Zählen der Elemente im Datensatz, zum Berechnen des niedrigsten oder des höchsten Werts im Datensatz und zum Addieren aller Elemente im Datensatz. Die Bestimmung des arithmetischen Mittels einer Menge lässt sich aus der Funktion zum Zählen der Elemente und jener zum Berechnen der Summe aller Elemente im Datensatz kombinieren.

Verschiedene nützliche Funktionen sind jedoch keine Aggregatfunktionen. Hierzu gehören Funktionen zum Berechnen des Modus (des häufigsten Elements), des Mittelwerts oder der Standardabweichung einer Menge.

Die Anwendung von Aggregatfunktionen auf Daten während der Ablaufverfolgung bringt eine Reihe von Vorteilen mit: