Samlet funksjon - Aggregate function
I databaseadministrasjon er en aggregeringsfunksjon eller aggregeringsfunksjon en funksjon der verdiene til flere rader er gruppert sammen for å danne en enkelt oppsummeringsverdi .
Vanlige samlede funksjoner inkluderer:
Andre inkluderer:
- Nanmean (betyr å ignorere NaN -verdier, også kjent som "null" eller "null")
- Stddev
Formelt, tar en samlefunksjon som inndata et sett , et multiset (pose), eller en liste fra en viss inngangs domene I og avgir et element av et utgangs domene O . Inndata- og utdatadomenene kan være de samme, for eksempel for SUM, eller kan være forskjellige, for eksempel COUNT.
Samlede funksjoner forekommer ofte på mange programmeringsspråk , i regneark og i relasjonsalgebra .
Den listaggfunksjon, som definert i SQL: 2016 standard tilslags data fra flere rader i en enkelt sammensatt streng.
Nedbrytbare aggregatfunksjoner
Samlede funksjoner utgjør en flaskehals , fordi de potensielt krever at alle inngangsverdier er samtidig. I distribuert databehandling er det ønskelig å dele slike beregninger i mindre biter, og distribuere arbeidet, vanligvis parallelt , via en dele og erobre -algoritme .
Noen aggregatfunksjoner kan beregnes ved å beregne aggregatet for delsett, og deretter aggregere disse aggregatene; eksempler inkluderer COUNT, MAX, MIN,og SUM. I andre tilfeller kan aggregatet beregnes ved å beregne hjelpetall for delsett, aggregere disse hjelpetallene og til slutt beregne det totale tallet på slutten; eksempler inkluderer AVERAGE(sporingssum og telling, dividering på slutten) og RANGE(sporing av maks og min, subtrahering på slutten). I andre tilfeller kan aggregatet ikke beregnes uten å analysere hele settet samtidig, men i noen tilfeller kan tilnærminger fordeles; eksempler inkluderer DISTINCT COUNT, MEDIAN,og MODE.
Slike funksjoner kalles dekomponerbare aggregeringsfunksjoner eller nedbrytbare aggregatfunksjoner . Den enkleste kan bli referert til som selvnedbrytbare aggregeringsfunksjoner , som er definert som disse funksjonene f slik at det er en fletteoperatør slik at
hvor er foreningen av multisett (se monoid homomorfisme ).
For eksempel SUM:
- , for en singleton;
- , noe som betyr at sammenslåing bare er tillegg.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Vær oppmerksom på at selvnedbrytbare aggregeringsfunksjoner kan kombineres (formelt, ta produktet) ved å bruke dem separat, så for eksempel kan man beregne både SUMog COUNTsamtidig ved å spore to tall.
Mer generelt kan man definere et dekomponerbart samlingsfunksjon f som en som kan uttrykkes som sammensetningen av en endelig funksjon g og en egen dekomponerbart aggregering funksjon h , . For eksempel = / og = - .
AVERAGESUMCOUNTRANGEMAXMIN
I MapReduce -rammeverket er disse trinnene kjent som InitialReduce (verdi på individuell rekord/singleton -sett), Kombinere (binær sammenslåing på to aggregasjoner) og FinalReduce (sluttfunksjon på tilleggsverdier), og flytting av dekomponerbar aggregering før Shuffle -fasen er kjent som et InitialReduce -trinn,
Nedbrytbare aggregeringsfunksjoner er viktige i online analytisk behandling (OLAP), ettersom de gjør det mulig å beregne aggregeringsspørringer på de forhåndsberegnede resultatene i OLAP-kuben , i stedet for på basedataene. For eksempel er det enkelt å støtte COUNT, MAX, MIN,og SUMi OLAP, siden disse kan beregnes for hver celle i OLAP -terningen og deretter oppsummeres ("rullet opp"), men det er vanskelig å støtte MEDIAN, da det må beregnes for hver visning separat .
Andre nedbrytbare aggregatfunksjoner
For å beregne gjennomsnittet og standardavviket fra aggregerte data, er det nødvendig å ha tilgjengelig for hver gruppe: summen av verdier (Σx i = SUM (x)), antall verdier (N = COUNT (x)) og summen av kvadrater av verdiene (Σx i 2 = SUM (x 2 )) for hver gruppe.
AVG:
- .
eller
- .
eller, bare hvis COUNT (X) = COUNT (Y)
- .
SUM(x2): Summen av kvadrater av verdiene er viktig for å beregne standardavviket til grupper
STDDEV:
For en begrenset befolkning med like sannsynligheter på alle punkter, har vi
Dette betyr at standardavviket er lik kvadratroten til differansen mellom gjennomsnittet av kvadratene til verdiene og kvadratet til gjennomsnittsverdien.
- .
- .
Se også
- Kryss-tabulering aka Beredskapstabell
- Databoring
- Datautvinning
- Databehandling
- Trekk ut, transformer, last inn
- Fold (funksjon av høyere orden)
- Grupper etter (SQL) , SQL -ledd
- OLAP -terning
- Online analytisk behandling
- Svingbord
- Relasjonsalgebra
- Utility -funksjoner på udelelige varer#Aggregater av verktøyfunksjoner
- XML for analyse
- AggregateIQ
Referanser
Sitater
Bibliografi
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Distribuert aggregering for data-parallell databehandling: grensesnitt og implementeringer . ACM SIGOPS 22. symposium om prinsipper for operativsystemer. ACM . s. 247–260. doi : 10.1145/1629575.1629600 .
- Jesus, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). "En undersøkelse av distribuerte datagrugeringsalgoritmer". arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symmetrisk og asymmetrisk aggregatfunksjon i massivt parallell databehandling (teknisk rapport).
Videre lesning
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Aggregeringsfunksjoner . Encyclopedia of Mathematics and its Applications. 127 . Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Oracle aggregerte funksjoner: MAX, MIN, COUNT, SUM, AVG -eksempler