Aggregaatiofunktio - Aggregate function
In tietokannan hallinta , koostefunktiota tai yhdistäminen funktio on funktio , jossa arvot on useita rivejä on koottu yhteen muodostamaan yhden yhteenveto arvo .
Yleisiä koontitoimintoja ovat:
Muita ovat:
- Nanmean (tarkoittaa NaN -arvojen huomiotta jättämistä, tunnetaan myös nimellä "nolla" tai "nolla")
- Keskihajonta
Muodollisesti aggregaatiofunktio ottaa tulona joukon , multisetin (pussi) tai luettelon jostakin syöttöalueesta I ja antaa lähtöalueen O elementin . Tulo- ja lähtöalueet voivat olla samat, kuten SUM, tai voivat olla erilaisia, kuten COUNT.
Aggregaatiofunktioita esiintyy yleisesti useilla ohjelmointikielillä , laskentataulukoissa ja suhteellisessa algebrassa .
listaggFunktio, kuten on määritelty SQL: 2016 standardi kokoaa tietoja useista rivien yhdeksi Yhdistetty merkkijono.
Hajoavat aggregaattitoiminnot
Koostetoiminnot muodostavat pullonkaulan , koska ne edellyttävät mahdollisesti kaikkien syöttöarvojen keräämistä. In hajautetun tietojenkäsittelyn , on toivottavaa jakaa Tällaisten laskujen pienemmiksi paloiksi, ja jakaa työtä, yleensä laskemalla samanaikaisesti kautta hajota ja hallitse algoritmi .
Jotkut aggregaattitoiminnot voidaan laskea laskemalla aggregaatti osajoukoille ja sitten aggregoimalla nämä aggregaatit; esimerkkejä ovat COUNT, MAX, MIN,ja SUM. Muissa tapauksissa aggregaatti voidaan laskea laskemalla apunumeroita osajoukoille, aggregoimalla nämä apunumerot ja lopuksi laskemalla kokonaisluku lopussa; Esimerkkejä ovat AVERAGE(seurantasumma ja -luku, jakaminen lopussa) ja RANGE(seuranta maksimi ja min, vähennys lopussa). Muissa tapauksissa aggregaattia ei voida laskea analysoimatta koko joukkoa kerralla, mutta joissakin tapauksissa likiarvot voidaan jakaa; esimerkkejä ovat DISTINCT COUNT, MEDIAN,ja MODE.
Tällaisia funktioita kutsutaan hajotettaviksi aggregaatiofunktioiksi tai hajotettaviksi aggregaattitoiminnoiksi . Yksinkertaisinta voidaan kutsua itsehajoaviksi aggregaatiofunktioiksi , jotka määritellään funktioiksi f siten, että on olemassa yhdistämisoperaattori , joka
missä on monijoukkojen liitto (katso monoidinen homomorfismi ).
Esimerkiksi SUM:
- , yksittäiseksi;
- , eli yhdistäminen on yksinkertaisesti lisäystä.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Huomaa, että itsehajoavat aggregaatiofunktiot voidaan yhdistää (muodollisesti tuotteen ottaminen) soveltamalla niitä erikseen, joten esimerkiksi voidaan laskea sekä SUMja COUNTettä seuraamalla kahta numeroa.
Yleisemmin voidaan määritellä hajoava aggregaatiofunktio f sellaisena, joka voidaan ilmaista lopullisen funktion g ja itse hajoavan aggregaatiofunktion h , koostumuksena . Esimerkiksi = / ja = - .
AVERAGESUMCOUNTRANGEMAXMIN
Vuonna MapReduce puitteissa, nämä vaiheet tunnetaan InitialReduce (arvo yksittäisten tallenteen / singleton set), Yhdistetään (binary yhdistää kaksi koosteita), ja FinalReduce (lopullinen toiminnon ylimääräisiä arvoja), ja liikkuva hajoavasta aggregoitumista ennen Sekoita vaiheen tunnetaan InitialReduce -askeleena,
Hajoavat aggregaatiotoiminnot ovat tärkeitä online-analyyttisessä käsittelyssä (OLAP), koska ne mahdollistavat aggregaatiokyselyjen laskemisen OLAP-kuution ennalta lasketuista tuloksista eikä perustiedoista. Esimerkiksi sitä on helppo tukea COUNT, MAX, MIN,ja SUMOLAP: ssä, koska ne voidaan laskea OLAP -kuution jokaiselle solulle ja sitten tehdä yhteenveto ("rullattu"), mutta sitä on vaikea tukea MEDIAN, koska se on laskettava jokaisesta näkymästä erikseen .
Muut hajoavat aggregaattitoiminnot
Keskimääräisen ja keskihajonnan laskemiseksi aggregaattitiedoista on oltava käytettävissä jokaiselle ryhmälle: arvojen kokonaismäärä (Σx i = SUM (x)), arvojen lukumäärä (N = COUNT (x)) ja kunkin ryhmän arvojen neliöt (Σx i 2 = SUM (x 2 )).
AVG:
- .
tai
- .
tai vain, jos COUNT (X) = COUNT (Y)
- .
SUM(x2): Arvojen neliöiden summa on tärkeä ryhmien keskihajonnan laskemiseksi
STDDEV:
Äärelliselle populaatiolle, jolla on yhtä suuret todennäköisyydet kaikissa kohdissa, meillä on
Tämä tarkoittaa, että keskihajonta on yhtä suuri kuin arvojen neliöiden keskiarvon ja keskiarvon neliön välisen eron neliöjuuri.
- .
- .
Katso myös
- Ristitaulukko eli varauspöytä
- Tietojen poraus
- Tietojen louhinta
- Tietojenkäsittely
- Poimi, muunna, lataa
- Taitto (korkeamman asteen toiminto)
- Ryhmittele (SQL) , SQL -lauseke
- OLAP -kuutio
- Analyyttinen käsittely verkossa
- Kääntöpöytä
- Suhteellinen algebra
- Jakamattomien tavaroiden apuohjelmat#Hyödyllisyystoimintojen aggregaatit
- XML analysointia varten
- AggregateIQ
Viitteet
Lainaukset
Bibliografia
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Hajautettu aggregaatti tietojen rinnakkaislaskennalle: rajapinnat ja toteutukset . ACM SIGOPS 22. symposium käyttöjärjestelmien periaatteista. ACM . s. 247–260. doi : 10.1145/1629575.1629600 .
- Jeesus, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). "Survey of Distributed Data Aggregation Algoritms". arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symmetrinen ja epäsymmetrinen aggregaattitoiminto massiivisessa rinnakkaislaskennassa (tekninen raportti).
Lue lisää
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Yhdistämistoiminnot . Matematiikan tietosanakirja ja sen sovellukset. 127 . Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Oracle Aggregate Functions: MAX, MIN, COUNT, SUM, AVG Esimerkkejä