Samlet funktion - Aggregate function
I databasestyring er en aggregeret funktion eller aggregeringsfunktion en funktion, hvor værdierne for flere rækker er grupperet sammen for at danne en enkelt oversigtsværdi .
Almindelige samlede funktioner omfatter:
Andre omfatter:
- Nanmean (middelværdi ignorerer NaN -værdier, også kendt som "nul" eller "null")
- Stddev
Formelt et aggregat funktion tager som input et sæt , en multisættet (pose) eller en liste fra nogle input domæne I og udlæser et element af et output domæne O . Input- og outputdomæner kan være de samme, f.eks. For SUM, eller kan være forskellige, f.eks. For COUNT.
Samlede funktioner forekommer almindeligvis i mange programmeringssprog , i regneark og i relationel algebra .
Den listaggfunktion, som defineret i SQL: 2016 standard aggregater data fra flere rækker i en enkelt sammenkædet streng.
Nedbrydelige samlede funktioner
Samlede funktioner udgør en flaskehals , fordi de potentielt kræver at have alle inputværdier på én gang. I distribueret computing er det ønskeligt at opdele sådanne beregninger i mindre stykker og distribuere arbejdet, normalt computere parallelt , via en opdelings- og erobringsalgoritme .
Nogle aggregatfunktioner kan beregnes ved at beregne aggregatet for delsæt og derefter aggregere disse aggregater; eksempler inkluderer COUNT, MAX, MIN,og SUM. I andre tilfælde kan aggregatet beregnes ved at beregne hjælpetal for delmængder, aggregere disse hjælpetal og til sidst beregne det samlede tal i slutningen; eksempler inkluderer AVERAGE(sporingssum og -tælling, dividering i slutningen) og RANGE(sporing af maks. og min., subtraktion i slutningen). I andre tilfælde kan aggregatet ikke beregnes uden at analysere hele sættet på én gang, selvom tilnærmelser i nogle tilfælde kan fordeles; eksempler inkluderer DISTINCT COUNT, MEDIAN,og MODE.
Sådanne funktioner kaldes nedbrydelige aggregeringsfunktioner eller nedbrydelige aggregatfunktioner . Den enkleste kan betegnes som selvnedbrydelige aggregeringsfunktioner , der er defineret som disse funktioner f sådan, at der er en fusionoperator, så
hvor er foreningen af multisets (se monoid homomorfisme ).
For eksempel SUM:
- , for en singleton;
- , hvilket betyder, at fusion er simpelthen tilføjelse.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Bemærk, at selvnedbrydelige aggregeringsfunktioner kan kombineres (formelt taget produktet) ved at anvende dem separat, så man for eksempel kan beregne både SUMog COUNTpå samme tid ved at spore to tal.
Mere generelt kan man definere en nedbrydelig aggregeringsfunktion f som en, der kan udtrykkes som sammensætningen af en endelig funktion g og en selv-nedbrydelig aggregeringsfunktion h , . For eksempel = / og = - .
AVERAGESUMCOUNTRANGEMAXMIN
I MapReduce -rammen er disse trin kendt som InitialReduce (værdi på individuel rekord/singleton -sæt), Kombiner (binær fletning på to aggregationer) og FinalReduce (slutfunktion på hjælpeværdier) og flytning af nedbrydelig aggregation, før Shuffle -fasen kendes som et InitialReduce -trin,
Nedbrydelige aggregeringsfunktioner er vigtige i online analytisk behandling (OLAP), da de gør det muligt at beregne aggregeringsforespørgsler på de forudberegnede resultater i OLAP-terningen i stedet for på basedataene. For eksempel er det let at understøtte COUNT, MAX, MIN,og SUMi OLAP, da disse kan beregnes for hver celle i OLAP -terningen og derefter opsummeres ("rulles op"), men det er svært at understøtte MEDIAN, da det skal beregnes for hver visning separat .
Andre nedbrydelige samlede funktioner
For at beregne gennemsnittet og standardafvigelsen fra aggregerede data er det nødvendigt at have tilgængelig for hver gruppe: værdiernes samlede værdi (Σx i = SUM (x)), antallet af værdier (N = COUNT (x)) og det samlede antal kvadrater af værdierne (Σx i 2 = SUM (x 2 )) for hver gruppe.
AVG:
- .
eller
- .
eller, kun hvis COUNT (X) = COUNT (Y)
- .
SUM(x2): Summen af kvadrater af værdierne er vigtig for at beregne standardafvigelsen for grupper
STDDEV:
For en begrænset befolkning med lige sandsynligheder på alle punkter, har vi
Det betyder, at standardafvigelsen er lig med kvadratroden af forskellen mellem gennemsnittet af værdiernes kvadrater og kvadratet af gennemsnitsværdien.
- .
- .
Se også
- Cross-tabulation aka Beredskabstabel
- Databoring
- Data mining
- Databehandling
- Udtræk, transformer, indlæser
- Fold (funktion af højere orden)
- Gruppér efter (SQL) , SQL -klausul
- OLAP -terning
- Online analytisk behandling
- Drejebord
- Relationsalgebra
- Hjælpefunktioner på udelelige varer#Aggregater af nyttefunktioner
- XML til analyse
- AggregateIQ
Referencer
Citater
Bibliografi
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Distribueret aggregering til data-parallel computing: grænseflader og implementeringer . ACM SIGOPS 22. symposium om operativsystemprincipper. ACM . s. 247–260. doi : 10.1145/1629575.1629600 .
- Jesus, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). "En undersøgelse af distribuerede datagregeringsalgoritmer". arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symmetrisk og asymmetrisk aggregatfunktion i massivt parallel computing (teknisk rapport).
Yderligere læsning
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Aggregeringsfunktioner . Encyclopedia of Mathematics og dets applikationer. 127 . Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Oracle -aggregerede funktioner: MAX, MIN, COUNT, SUM, AVG -eksempler