En escenarios con grandes volúmenes de datos, almacenar los datos a nivel de detalle para después agregarlos en tiempo de consulta puede suponer un gran esfuerzo (necesitamos agregar una gran cantidad de datos). Tener esos datos agregados previamente supone un beneficio a la hora de realizar consultas, aunque también genera inconvenientes al tener que mantener esas agregaciones actualizadas. Encontrar ese punto de equilibrio es esencial.
Pero, de hecho, esa agregación (la clásica, basada en funciones de agregación como la suma, la media, etc.) no es la agregación más importante que podemos realizar.
Nuevas entidades y propiedades
Existen otro tipo de agregaciones no basadas en funciones de agregación, que nos permiten tratar conjuntos de datos como una nueva entidad. Esa entidad tendrá asociadas un conjunto de características que podemos deducir del análisis de los datos, a pesar de que esas características no aparezcan como tales en los datos.
Es decir, a partir del análisis de los datos elementales, podemos extraer información de más alto nivel. Esa nueva información es el resultado de aplicar una serie de reglas que nos permiten abstraer la complejidad de los datos de manera que no tengamos que realizar esos cálculos cada vez que queramos analizarlos.
Este proceso, que realizamos mentalmente en tiempo real, requiere de una gran cantidad de cálculos y cierto entrenamiento para las máquinas (igual que lo necesitamos nosotros inicialmente). Ahí es donde Big Data nos descubre su gran potencial.
Ejemplo: Defensa de un saque de esquina
Un ejemplo sería determinar el tipo de defensa realizada por un equipo de fútbol al defender un saque de esquina. Simplificando el escenario, podemos defender individualmente o en zona. Sin embargo, a nivel de datos, tan solo disponemos de los datos de posicionamiento de los jugadores y la pelota dentro del terreno de juego.
Determinar el tipo de defensa lo podemos deducir a partir de los datos con la posición de los jugadores de ambos equipos. ¿Siguen los defensores a los atacantes? ¿Se quedan los defensores en su parcela dentro del área?
Si cada vez que queremos analizar el resultado de un saque de esquina en función de cómo se defiende, tuviéramos que realizar ese análisis de posiciones en los segundos anteriores a la ejecución del saque de esquina, sería un proceso muy lento. Pero si al procesar los datos de éste, agregamos esas posiciones para establecer el tipo de defensa, el análisis posterior será mucho más rápido y eficiente.
La nueva entidad que aparece al analizar estos datos podría llamarse «Tipo de defensa». Y sus características podrían incluir el número de jugadores defendiendo, el número de parcelas defendidas, el número de jugadores por parcela, la altura de los jugadores por parcela (e.g. los más altos en el centro del área y los más bajos en las posiciones exteriores).
A partir de esta nueva entidad y sus características es posible analizar los datos de una manera más fácil para el usuario que quiere explotar los datos, ya que el análisis posterior se realizará en función de esta nueva agregación y no en función de datos de posicionamiento.
Conclusión
La agregación de datos en nuevas entidades con propiedades propias permite la abstracción de datos a bajo nivel. Esto simplifica el análisis de los datos y evita realizar un gran número de cálculos cuando los datos quieren ser consultados por los usuarios.
Big Data nos permite realizar cálculos complejos que nos permiten realizar estas abstracciones y crear estas nuevas entidades. Gracias a tecnologías de análisis como Machine Learning, podemos entrenar modelos que aprenderán a catalogar los datos en estas nuevas entidades.
La agregación de datos clásica, basada en funciones de agregación, continúa siendo muy importante a la hora de analizar los datos. Sin embargo, la aparición de nuevas entidades por agregación de datos abre la puerta a nuevos tipos de análisis que anteriormente resultaban muy complejos. Ahí es donde Big Data nos muestra su gran potencial.