stringtranslate.com

Función agregada

En la gestión de bases de datos , una función de agregación o función de agregación es una función en la que se procesan múltiples valores juntos para formar una única estadística de resumen .

(Figura 1) Representación del diagrama entidad-relación de la agregación.

Las funciones de agregación más comunes incluyen:

Otros incluyen:

Formalmente, una función agregada toma como entrada un conjunto , un multiconjunto (bolsa) o una lista de algún dominio de entrada I y genera como salida un elemento de un dominio de salida O. [1] Los dominios de entrada y salida pueden ser los mismos, como para , o SUMpueden ser diferentes, como para COUNT.

Las funciones agregadas aparecen comúnmente en numerosos lenguajes de programación , en hojas de cálculo y en el álgebra relacional .

La listaggfunción, tal como se define en el estándar SQL:2016 [2], agrega datos de varias filas en una única cadena concatenada.

En el diagrama de relación de entidades , la agregación se representa como se ve en la Figura 1 con un rectángulo alrededor de la relación y sus entidades para indicar que se la está tratando como una entidad agregada. [3]

Funciones agregadas descomponibles

Las funciones agregadas presentan un cuello de botella , ya que potencialmente requieren tener todos los valores de entrada a la vez. En la computación distribuida , es deseable dividir dichos cálculos en partes más pequeñas y distribuir el trabajo, generalmente computando en paralelo , a través de un algoritmo de divide y vencerás .

Algunas funciones agregadas se pueden calcular calculando el agregado para subconjuntos y luego agregando estos agregados; los ejemplos incluyen COUNT, MAX, MINy SUM. En otros casos, el agregado se puede calcular calculando números auxiliares para subconjuntos, agregando estos números auxiliares y finalmente calculando el número total al final; los ejemplos incluyen AVERAGE(seguimiento de suma y recuento, división al final) y RANGE(seguimiento de máximo y mínimo, resta al final). En otros casos, el agregado no se puede calcular sin analizar todo el conjunto a la vez, aunque en algunos casos se pueden distribuir aproximaciones; los ejemplos incluyen DISTINCT COUNT( Problema de recuento distinto ), MEDIANy MODE.

Estas funciones se denominan funciones de agregación descomponibles [4] o funciones agregadas descomponibles . Las más simples pueden denominarse funciones de agregación autodescomponibles , que se definen como aquellas funciones f tales que existe un operador de fusión ⁠ ⁠ tal que

donde ⁠ ⁠ es la unión de multiconjuntos (ver homomorfismo monoide ).

Por ejemplo, SUM:

, para un singleton;
, lo que significa que la fusión es simplemente una adición.

COUNT:

,
.

MAX:

,
.

MIN:

, [2]
.

Téngase en cuenta que las funciones de agregación autodescomponibles se pueden combinar (formalmente, tomando el producto) aplicándolas por separado, de modo que, por ejemplo, se pueden calcular SUMy COUNTal mismo tiempo, rastreando dos números.

De manera más general, se puede definir una función de agregación descomponible f como aquella que se puede expresar como la composición de una función final g y una función de agregación autodescomponible h , . Por ejemplo, = / y = − .AVERAGESUMCOUNTRANGEMAXMIN

En el marco de MapReduce , estos pasos se conocen como InitialReduce (valor en un registro individual/conjunto singleton), Combine (fusión binaria en dos agregaciones) y FinalReduce (función final en valores auxiliares), [5] y mover la agregación descomponible antes de la fase Shuffle se conoce como un paso InitialReduce, [6]

Las funciones de agregación descomponibles son importantes en el procesamiento analítico en línea (OLAP), ya que permiten que las consultas de agregación se calculen en los resultados precalculados en el cubo OLAP , en lugar de en los datos base. [7] Por ejemplo, es fácil admitir COUNT, MAX, MINy SUMen OLAP, ya que se pueden calcular para cada celda del cubo OLAP y luego resumir ("acumular"), pero es difícil admitir MEDIAN, ya que se debe calcular para cada vista por separado.

Otras funciones agregadas descomponibles

Para calcular la media y la desviación típica de los datos agregados, es necesario disponer para cada grupo: el total de valores (Σx i = SUMA(x)), el número de valores (N=CONTAR(x)) y el total de cuadrados de los valores (Σx i 2 =SUMA(x 2 )) de cada grupo. [8]

AVG : o bien, sólo si CONTAR(X)=CONTAR(Y) : La suma de los cuadrados de los valores es importante para calcular la desviación típica de los grupos : Para una población finita con probabilidades iguales en todos los puntos, tenemos [9] [ referencia circular ]


SUM(x2)

STDDEV

Esto significa que la desviación estándar es igual a la raíz cuadrada de la diferencia entre el promedio de los cuadrados de los valores y el cuadrado del valor promedio.

Véase también

Referencias

  1. ^ Jesús, Baquero & Almeida 2011, 2 Definición del problema, págs.3.
  2. ^ ab Winand, Markus (15 de mayo de 2017). "Grandes novedades en bases de datos: nuevo estándar SQL, guerras en la nube y ACIDRain (primavera de 2017)". DZone. Archivado desde el original el 27 de mayo de 2017. Consultado el 10 de junio de 2017. En diciembre de 2016, ISO lanzó una nueva versión del estándar SQL . Presenta nuevas características como coincidencia de patrones de filas, listagg, formato de fecha y hora y compatibilidad con JSON.
  3. ^ Elmasri, Ramez (2016). Fundamentos de los sistemas de bases de datos. Sham Navathe (Séptima edición). Hoboken, NJ. p. 133. ISBN 978-0-13-397077-7. OCLC  913842106.{{cite book}}: CS1 maint: location missing publisher (link)
  4. ^ Jesús, Baquero y Almeida 2011, 2.1 Funciones descomponibles, págs.
  5. ^ Yu, Gunda e Isard 2009, 2. Agregación distribuida, págs.
  6. ^ Yu, Gunda & Isard 2009, 2. Agregación distribuida, p. 1.
  7. ^ Zhang 2017, pág. 1.
  8. ^ Ing. Óscar Bonilla, MBA
  9. ^ Desviación estándar#Identidades y propiedades matemáticas

Literatura

Enlaces externos