En la gestión de bases de datos , una función de agregación es una función en la que se procesan varios valores conjuntamente para formar una única estadística descriptiva .

Las funciones de agregación comunes incluyen:
Otros incluyen:
- Nanmean (media que ignora los valores NaN, también conocidos como "nil" o "null")
- Desviación estándar
Formalmente, una función agregada toma como entrada un conjunto , un multiconjunto (bolsa) o una lista de algún dominio de entrada I y produce como salida un elemento de un dominio de salida O. [ 1 ] Los dominios de entrada y salida pueden ser iguales, como para SUM, o pueden ser diferentes, como para COUNT.
Las funciones de agregación aparecen con frecuencia en numerosos lenguajes de programación , en hojas de cálculo y en á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 relaciones 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 está tratando como una entidad agregada. [ 3 ]
funciones agregadas descomponibles
Las funciones agregadas representan un cuello de botella , ya que potencialmente requieren tener todos los valores de entrada a la vez. En la computación distribuida , es conveniente dividir dichos cálculos en partes más pequeñas y distribuir el trabajo, generalmente computando en paralelo , mediante un algoritmo de divide y vencerás .
Algunas funciones de agregación se pueden calcular calculando el valor agregado para subconjuntos y luego agregando estos valores; ejemplos de ello son COUNT , MAX , MIN y SUM . En otros casos, el valor agregado se puede calcular calculando números auxiliares para subconjuntos, agregando estos números auxiliares y, finalmente, calculando el valor total; ejemplos de ello son AVERAGE (que registra la suma y el recuento, dividiendo al final) y RANGE (que registra el máximo y el mínimo, restando al final). En otros casos, el valor agregado no se puede calcular sin analizar todo el conjunto a la vez, aunque en algunos casos se pueden distribuir aproximaciones; ejemplos de ello son DISTINCT COUNT ( problema de recuento de elementos distintos ), MEDIAN y 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 .de tal manera que
dondees la unión de multiconjuntos (véase homomorfismo de monoides ).
Por ejemplo, SUMA :
- , para un único;
- , lo que significa que fusionares simplemente una suma.
CONTAR :
- ,
- .
MÁXIMO :
- ,
- .
MÍN :
- , [ 2 ]
- .
Cabe señalar que las funciones de agregación autodescomponibles pueden combinarse (formalmente, tomando el producto) aplicándolas por separado, de modo que, por ejemplo, se puede calcular tanto la SUMA como el CONTEO al mismo tiempo, haciendo un seguimiento de dos números.
De manera más general, se puede definir una función de agregación descomponible f como aquella que puede expresarse como la composición de una función final g y una función de agregación autodescomponible h .. Por ejemplo, PROMEDIO = SUMA / CONTEO y RANGO = MÁX - MÍN .
En el marco de MapReduce , estos pasos se conocen como InitialReduce (valor en un registro individual/conjunto de singletons), 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 sobre los resultados precalculados en el cubo OLAP , en lugar de sobre los datos base. [ 7 ] Por ejemplo, es fácil admitir COUNT , MAX , MIN y SUM en OLAP, ya que estos se pueden calcular para cada celda del cubo OLAP y luego resumir ("agregar"), pero es difícil admitir MEDIAN , ya que debe calcularse para cada vista por separado.
Otras funciones agregadas descomponibles
Para calcular la media y la desviación estándar a partir de datos agregados, es necesario disponer para cada grupo de: 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 o, solo si CONTAR(X)=CONTAR(Y) SUM(x2)La suma de los cuadrados de los valores es importante para calcular la desviación estándar de los grupos. STDDEV: Para una población finita con probabilidades iguales en todos los puntos, tenemos [ 9 ]
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
- Tabla de contingencia o tabla cruzada
- Perforación de datos
- minería de datos
- Proceso de datos
- Extraer, transformar, cargar
- Plegado (función de orden superior)
- Agrupar por (SQL) , cláusula SQL
- cubo OLAP
- Procesamiento analítico en línea
- Tabla dinámica
- Álgebra relacional
- Funciones de utilidad sobre bienes indivisibles#Agregados de funciones de utilidad
- XML para análisis
- AggregateIQ
- MapReduce
Referencias
- ↑ Jesús, Baquero & Almeida 2011 , 2 Definición del Problema, págs.3.
- 1 2 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 del original el 27 de mayo de 2017. Recuperado el 10 de junio de 2017. En diciembre de 2016 ,
ISO publicó una nueva versión del estándar SQL. Introduce nuevas características como la coincidencia de patrones de filas, listagg, formato de fecha y hora y compatibilidad con JSON.
- ↑ Elmasri, Ramez (2016). Fundamentos de sistemas de bases de datos . Sham Navathe (Séptima ed.). Hoboken, NJ. p. 133. ISBN 978-0-13-397077-7OCLC 913842106
{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) - ↑ Jesús, Baquero & Almeida 2011 , 2.1 Funciones descomponibles, págs.
- ^ Yu, Gunda & Isard 2009 , 2. Agregación distribuida, págs.
- ^ Yu, Gunda & Isard 2009 , 2. Agregación distribuida, p. 1.
- ↑ Zhang 2017 , pág. 1.
- ↑ Ing. Óscar Bonilla, MBA
- ↑ Desviación estándar#Identidades y propiedades matemáticas
Literatura
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Funciones de agregación . Enciclopedia de Matemáticas y sus Aplicaciones. Vol. 127. Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Funciones de agregación de Oracle: Ejemplos de MAX, MIN, COUNT, SUM y AVG
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Agregación distribuida para computación paralela de datos: interfaces e implementaciones . Simposio ACM SIGOPS 22.º sobre principios de sistemas operativos. ACM . págs. 247–260 . doi : 10.1145/1629575.1629600 .
- Jesús, Paulo; Baquero, Carlos; Almeida, Paulo Sergio (2011). "Una encuesta sobre algoritmos de agregación de datos distribuidos". arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Función agregada simétrica y asimétrica en computación masivamente paralela (Informe técnico).
Enlaces externos
- Funciones de agregación (Transact-SQL)
- Subrutinas