Agregační funkce - Aggregate function

V řízení databáze , An agregační funkce nebo agregace funkce je funkce kde hodnoty více řádků jsou seskupeny do jediného souhrnnou hodnotu .

Mezi běžné agregační funkce patří:

Mezi další patří:

  • Nanmean (znamená ignorování hodnot NaN, známých také jako „nula“ nebo „null“)
  • Stddev

Formálně, agregační funkce se jako vstup sadu , pracovní multimnožina (sáček), nebo seznam z nějaké domény vstupního I a výstupy prvek výstupního domény O . Vstupní a výstupní domény mohou být stejné, například pro SUM, nebo se mohou lišit, například pro COUNT.

Agregační funkce se běžně vyskytují v mnoha programovacích jazycích , v tabulkách a v relační algebře .

listaggFunkce, jak je definováno v SQL: 2016 standardních agreguje data z více řádků do jednoho zřetězeného řetězce.

Rozložitelné agregační funkce

Agregované funkce představují překážku , protože potenciálně vyžadují mít všechny vstupní hodnoty najednou. V distribuovaných výpočtech je žádoucí rozdělit takové výpočty na menší části a distribuovat práci, obvykle výpočetní paralelně , pomocí algoritmu dělení a dobývání .

Některé agregační funkce lze vypočítat výpočtem agregátu pro podmnožiny a agregací těchto agregátů; příklady zahrnují COUNT, MAX, MIN,a SUM. V jiných případech lze agregát vypočítat pomocí výpočtu pomocných čísel pro podmnožiny, agregací těchto pomocných čísel a nakonec výpočtem celkového počtu na konci; příklady zahrnují AVERAGE(sledování součtu a počtu, dělení na konci) a RANGE(sledování max a min, odčítání na konci). V ostatních případech agregát nelze vypočítat bez analýzy celé sady najednou, i když v některých případech lze distribuovat aproximace; příklady zahrnují DISTINCT COUNT, MEDIAN,a MODE.

Takové funkce se nazývají funkce rozložitelné agregace nebo funkce rozložitelné agregace . Nejjednodušší mohou být označovány jako samo-rozložitelné agregační funkce , které jsou definovány jako funkce f tak, že existuje operátor sloučení , takže

kde je spojení více sad (viz monoidní homomorfismus ).

Například SUM:

pro singleton;
, což znamená, že sloučení je jednoduše sčítání.

COUNT:

,
.

MAX:

,
.

MIN:

,
.

Všimněte si toho, že funkce automatického rozkladu lze kombinovat (formálně, když vezmeme produkt) jejich samostatným použitím, takže například lze vypočítat jak SUMa COUNTsoučasně sledováním dvou čísel.

Obecněji řečeno, je možné definovat rozložitelného agregační funkce f , jako ten, který lze vyjádřit jako složení konečného funkce g a self-rozložitelný agregační funkce h , . Například = / a = - . AVERAGESUMCOUNTRANGEMAXMIN

V rámci MapReduce jsou tyto kroky známé jako InitialReduce (hodnota pro jednotlivou sadu záznamů/singletonů), Combine (binární sloučení na dvou agregacích) a FinalReduce (konečná funkce na pomocných hodnotách) a přesunutí rozložitelné agregace před fází Shuffle jako krok počátečního snížení,

Rozložitelné agregační funkce jsou důležité v online analytickém zpracování (OLAP), protože umožňují vypočítat agregační dotazy z předem vypočítaných výsledků v datové krychli OLAP , nikoli ze základních dat. Například je snadné podporovat COUNT, MAX, MIN,a SUMv OLAP, protože je lze vypočítat pro každou buňku krychle OLAP a poté je shrnout („srolovat“), ale je obtížné je podporovat MEDIAN, protože to musí být vypočítáno pro každý pohled zvlášť .

Jiné rozložitelné agregační funkce

Aby bylo možné vypočítat průměrnou a standardní odchylku od souhrnných údajů, je nutné mít pro každou skupinu k dispozici: součet hodnot (Σx i = SUM (x)), počet hodnot (N = COUNT (x)) a součet čtverců hodnot (Σx i 2 = SUM (x 2 )) každé skupiny.

AVG:

.

nebo

.

nebo, pouze pokud COUNT (X) = COUNT (Y)

.


SUM(x2): Součet čtverců hodnot je důležitý pro výpočet standardní odchylky skupin


STDDEV:
Pro konečnou populaci se stejnou pravděpodobností ve všech bodech máme

To znamená, že standardní odchylka se rovná druhé odmocnině rozdílu mezi průměrem čtverců hodnot a druhou mocninou průměrné hodnoty.

.
.

Viz také

Reference

Citace

Bibliografie

Další čtení

externí odkazy