Агрегатная функция - Aggregate function

В управлении базами данных , агрегатная функция или агрегация функция является функцией , где значения нескольких строк группируются вместе , чтобы сформировать единое итоговое значение .

Общие агрегатные функции включают:

Другие включают:

Формально совокупность функция принимает в качестве входных данных набора , A мультимножества (мешок), или список из некоторого входного домена I и выводит элемент выходного домена O . Домены ввода и вывода могут быть одинаковыми, например, для SUM, или могут быть разными, например, для COUNT.

Агрегатные функции часто встречаются во многих языках программирования , в электронных таблицах и в реляционной алгебре .

listaggФункции, как определено в SQL: 2016 стандартные агрегаты данных из нескольких строк в одну сцепленную строку.

Разложимые агрегатные функции

Агрегатные функции представляют собой узкое место , поскольку они потенциально требуют одновременного ввода всех входных значений. При распределенных вычислениях желательно разделять такие вычисления на более мелкие части и распределять работу, обычно выполняя параллельные вычисления , с помощью алгоритма «разделяй и властвуй» .

Некоторые агрегатные функции могут быть вычислены путем вычисления агрегата для подмножеств и последующего агрегирования этих агрегатов; примеры включают COUNT, MAX, MIN,и SUM. В других случаях совокупность может быть вычислена путем вычисления вспомогательных чисел для подмножеств, агрегирования этих вспомогательных чисел и, наконец, вычисления общего числа в конце; примеры включают AVERAGE(отслеживание суммы и количества, деление в конце) и RANGE(отслеживание максимума и минимума, вычитание в конце). В других случаях агрегат не может быть вычислен без одновременного анализа всего набора, хотя в некоторых случаях приближения могут быть распределены; примеры включают DISTINCT COUNT, MEDIAN,и MODE.

Такие функции называются декомпозируемыми агрегатными функциями или декомпозируемыми агрегатными функциями . Простейшие могут называться саморазлагающимися функциями агрегирования , которые определяются как те функции f , для которых существует такой оператор слияния , что

где - объединение мультимножеств (см. гомоморфизм моноидов ).

Например SUM:

, для синглтона;
, что означает, что слияние - это просто сложение.

COUNT:

,
.

MAX:

,
.

MIN:

,
.

Обратите внимание, что саморазлагаемые функции агрегирования можно комбинировать (формально, принимая продукт), применяя их по отдельности, поэтому, например, можно вычислить и SUMи COUNTодновременно, отслеживая два числа.

В более общем смысле , можно определить разложимую функцию агрегации п как тот , который может быть выражен как состав конечной функции г и сама-разложимым функция агрегации ч , . Например, = / и = - . AVERAGESUMCOUNTRANGEMAXMIN

В структуре MapReduce эти шаги известны как InitialReduce (значение для отдельной записи / набора одиночных элементов), Combine (двоичное слияние для двух агрегатов) и FinalReduce (конечная функция для вспомогательных значений), а также перемещение декомпозируемой агрегации до того, как станет известна фаза Shuffle. как шаг InitialReduce,

Разлагаемые функции агрегирования важны при онлайн-аналитической обработке (OLAP), поскольку они позволяют вычислять запросы агрегирования на основе предварительно вычисленных результатов в кубе OLAP , а не на основе базовых данных. Например, его легко поддерживать COUNT, MAX, MIN,и SUMв OLAP, поскольку они могут быть вычислены для каждой ячейки куба OLAP, а затем суммированы («свернуты»), но это трудно поддерживать MEDIAN, поскольку это необходимо вычислять для каждого представления отдельно. .

Другие разложимые агрегатные функции

Для расчета среднего и стандартного отклонения от агрегированных данных для каждой группы необходимо иметь в наличии: сумму значений (Σx i = SUM (x)), количество значений (N = COUNT (x)) и сумма квадратов значений (Σx i 2 = SUM (x 2 )) каждой группы.

AVG:

.

или

.

или, только если COUNT (X) = COUNT (Y)

.


SUM(x2): Сумма квадратов значений важна для расчета стандартного отклонения групп.


STDDEV:
Для конечной совокупности с равными вероятностями во всех точках мы имеем

Это означает, что стандартное отклонение равно квадратному корню из разницы между средним квадратом значений и квадратом среднего значения.

.
.

Смотрите также

использованная литература

Цитаты

Список используемой литературы

дальнейшее чтение

внешние ссылки