In der Datenbankverwaltung ist eine Aggregationsfunktion eine Funktion , bei der mehrere Werte zusammen verarbeitet werden, um eine einzige zusammenfassende Statistik zu bilden .

Gängige Aggregatfunktionen sind:
Weitere Beispiele sind:
- Nanmean (Mittelwert ohne NaN-Werte, auch bekannt als "nil" oder "null")
- Standardabweichung
Formal gesehen nimmt eine Aggregatfunktion als Eingabe eine Menge , eine Multimenge (einen Bag) oder eine Liste aus einem Eingabebereich I und gibt ein Element eines Ausgabebereichs O aus . [ 1 ] Der Eingabe- und der Ausgabebereich können gleich sein, wie beispielsweise für SUM, oder unterschiedlich sein, wie beispielsweise für COUNT.
Aggregatfunktionen kommen häufig in zahlreichen Programmiersprachen , in Tabellenkalkulationsprogrammen und in der relationalen Algebra vor .
Die listaggFunktion, wie im SQL:2016- Standard [ 2 ] definiert , aggregiert Daten aus mehreren Zeilen zu einer einzigen verketteten Zeichenkette.
Im Entity-Relationship-Diagramm wird die Aggregation wie in Abbildung 1 dargestellt durch ein Rechteck um die Beziehung und ihre Entitäten, um anzuzeigen, dass sie als aggregierte Entität behandelt wird. [ 3 ]
Zerlegbare Aggregatfunktionen
Aggregatfunktionen stellen einen Engpass dar , da sie potenziell alle Eingabewerte gleichzeitig benötigen. In verteilten Systemen ist es wünschenswert, solche Berechnungen in kleinere Teile zu zerlegen und die Arbeit, üblicherweise parallel , mithilfe eines Divide-and-Conquer-Algorithmus zu verteilen .
Manche Aggregatfunktionen lassen sich berechnen, indem man die Aggregatwerte für Teilmengen ermittelt und diese Aggregatwerte anschließend addiert; Beispiele hierfür sind COUNT , MAX , MIN und SUMME . In anderen Fällen kann die Aggregatfunktion berechnet werden, indem man Hilfszahlen für Teilmengen ermittelt, diese Hilfszahlen addiert und schließlich die Gesamtzahl berechnet; Beispiele hierfür sind AVERAGE (Summe und Anzahl werden ermittelt, am Ende wird dividiert) und RANGE (Maximum und Minimum werden ermittelt, am Ende wird subtrahiert). In wieder anderen Fällen kann die Aggregatfunktion nur berechnet werden, wenn die gesamte Menge auf einmal analysiert wird, wobei in einigen Fällen Näherungswerte verteilt werden können; Beispiele hierfür sind DISTINCT COUNT ( Problem der Anzahl unterschiedlicher Elemente ), MEDIAN und MODE .
Solche Funktionen werden als zerlegbare Aggregationsfunktionen [ 4 ] oder zerlegbare Aggregatfunktionen bezeichnet . Die einfachsten können als selbstzerlegbare Aggregationsfunktionen bezeichnet werden , die als diejenigen Funktionen f definiert sind, für die es einen Merge-Operator gibt , sodass
wobei die Vereinigung von Multimengen ist (siehe Monoidhomomorphismus ).
Zum Beispiel: SUMME :
- für ein einzelnes Element;
- Das bedeutet, dass „merge “ einfach eine Addition ist.
ZÄHLEN :
- ,
- Die
MAX :
- ,
- Die
MIN :
- , [ 2 ]
- Die
Beachten Sie, dass selbstzerlegbare Aggregationsfunktionen kombiniert werden können (formal durch Produktbildung), indem man sie separat anwendet. So kann man beispielsweise gleichzeitig die Summe und die Anzahl berechnen, indem man zwei Zahlen verfolgt.
Allgemeiner lässt sich eine zerlegbare Aggregationsfunktion f als eine Funktion definieren, die sich als Komposition einer finalen Funktion g und einer selbstzerlegbaren Aggregationsfunktion h ausdrücken lässt . Zum Beispiel: MITTELWERT = SUMME/ANZAHL und BEREICH = MAX−MIN .
Im MapReduce- Framework werden diese Schritte als InitialReduce (Wert auf einem einzelnen Datensatz/Singleton-Set), Combine (binäre Zusammenführung zweier Aggregationen) und FinalReduce (finale Funktion auf Hilfswerten) bezeichnet [ 5 ]. Das Verschieben einer zerlegbaren Aggregation vor der Shuffle-Phase wird als InitialReduce-Schritt bezeichnet [ 6 ].
Zerlegbare Aggregationsfunktionen sind in der Online Analytical Processing (OLAP) wichtig, da sie es ermöglichen, Aggregationsabfragen auf den vorab berechneten Ergebnissen im OLAP-Cube anstatt auf den Basisdaten durchzuführen. [ 7 ] Beispielsweise lassen sich COUNT , MAX , MIN und SUM in OLAP leicht unterstützen, da diese für jede Zelle des OLAP-Cubes berechnet und anschließend zusammengefasst werden können. Die Unterstützung von MEDIAN gestaltet sich hingegen schwierig , da dieser Wert für jede Sicht separat berechnet werden muss.
Andere zerlegbare Aggregatfunktionen
Um Mittelwert und Standardabweichung aus aggregierten Daten zu berechnen, benötigt man für jede Gruppe die Summe der Werte (Σx<sub> i </sub> = SUM(x)), die Anzahl der Werte (N = COUNT(x)) und die Summe der Quadrate der Werte (Σx<sub> i </sub><sup>2</sup> = SUM(x<sup> 2</sup> )) jeder Gruppe. [ 8 ]AVG : oder nur wenn COUNT(X) = COUNT(Y) : Die Summe der Quadrate der Werte ist wichtig, um die Standardabweichung der Gruppen zu berechnen : Für eine endliche Population mit gleichen Wahrscheinlichkeiten an allen Punkten gilt [ 9 ]SUM(x2)STDDEV
Dies bedeutet, dass die Standardabweichung gleich der Quadratwurzel der Differenz zwischen dem Durchschnitt der Quadrate der Werte und dem Quadrat des Mittelwerts ist.
Siehe auch
- Kreuztabelle, auch Kontingenztabelle genannt
- Datenbohrung
- Data-Mining
- Datenverarbeitung
- Extrahieren, transformieren, laden
- Faltung (Funktion höherer Ordnung)
- Gruppieren nach (SQL) , SQL-Klausel
- OLAP-Würfel
- Online-Analytische Verarbeitung
- Pivot-Tabelle
- Relationale Algebra
- Nutzenfunktionen für unteilbare Güter#Aggregate von Nutzenfunktionen
- XML für die Analyse
- AggregateIQ
- MapReduce
Referenzen
- ^ Jesus, Baquero & Almeida 2011 , 2 Problemdefinition, S. 3.
- ^ a b Winand, Markus (15.05.2017). „Große Neuigkeiten in Datenbanken: Neuer SQL-Standard, Cloud-Wettbewerb und ACIDRian (Frühjahr 2017)“ . DZone. Archiviert vom Original am 27.05.2017 . Abgerufen am 10.06.2017 .
Im Dezember 2016 veröffentlichte die ISO eine neue Version des SQL-Standards. Diese führt neue Funktionen wie Zeilenmustervergleich, listagg, Datums- und Zeitformatierung sowie JSON-Unterstützung ein.
- ^ Elmasri, Ramez (2016). Grundlagen von Datenbanksystemen . Sham Navathe (7. Aufl.). Hoboken, NJ. S. 133. ISBN 978-0-13-397077-7OCLC 913842106 .
{{cite book}}: CS1 maint: location missing publisher (link) - ^ Jesus, Baquero & Almeida 2011 , 2.1 Zerlegbare Funktionen, S. 3–4.
- ^ Yu, Gunda & Isard 2009 , 2. Distributed Aggregation, S. 2–4.
- ^ Yu, Gunda & Isard 2009 , 2. Verteilte Aggregation, p. 1.
- ^ Zhang 2017 , S. 1.
- ^ Ing. Óscar Bonilla, MBA
- ^ Standardabweichung#Identitäten und mathematische Eigenschaften
Literatur
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Aggregationsfunktionen . Encyclopedia of Mathematics and its Applications. Band 127. Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Oracle-Aggregatfunktionen: MAX, MIN, COUNT, SUM, AVG – Beispiele
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Verteilte Aggregation für datenparalleles Rechnen: Schnittstellen und Implementierungen . 22. ACM SIGOPS Symposium über Betriebssystemprinzipien. ACM . S. 247–260 . doi : 10.1145/1629575.1629600 .
- Jesus, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). „Eine Übersicht über verteilte Datenaggregationsalgorithmen“. arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symmetrische und asymmetrische Aggregatfunktionen im massiv parallelen Rechnen (Technischer Bericht).