Pensar en «Big»… Data no es siempre la mejor opción

 

Las limitaciones del Business Intelligence (BI) al tratar grandes volúmenes de datos, permitir el análisis en tiempo real y analizar tipos de datos complejos, son el origen de Big Data. Con este nuevo conjunto de tecnologías y procesos, podemos analizar datos en estas situaciones donde un BI tradicional no nos ofrece soluciones válidas.

Sin embargo, la aparición de Big Data está suponiendo un cambio de mentalidad, una simplificación en los diseños de soluciones técnicas, para hacerlas encajar en el mundo de Big Data. Y eso puede ir en detrimento de los intereses de las organizaciones.

En este artículo os presento un ejemplo.

Un requerimiento concreto

Una empresa a la cual llamaré X, precisaba analizar los ficheros de log de su sitio web (llamados comúnmente weblogs), para así poder extraer una información concreta. En este caso, se trataba de saber el porcentaje de visitas por idioma (catalán, español o inglés) a su sitio web.

El escenario era el siguiente:

  • Cliente internacional con tráfico web 24×7
  • Generación de 1 GB de weblog por hora, archivados en ficheros horarios (lo que supone casi 9 TB de weblog por año)
  • Estacionalidad en el tráfico del sitio web (el tráfico depende de la época del año)

Alternativa Big Data

Debido a la estacionalidad en el tráfico, era necesario analizar los datos de un año. La estimación del tamaño de los weblogs en un año de actividad (cerca de 9 TB), hizo que el cliente se posicionara a favor de una solución basada en Big Data desde un buen principio.

Estaban tan convencidos de que éste era el camino, que pronto contactaron con proveedores para sopesar la opción de adquirir hardware que les permitiera levantar una solución de Big Data. También habían estado mirando diversas tecnologías software para implantar la solución. Únicamente les quedaba elegir la opción más adecuada dentro del escenario Big Data.

Todo era excitación en la empresa X. El Departamento de Tecnología estaba muy emocionado por poder implementar una nueva solución, tan moderna, tan de la última tendencia… Esta emoción se extendió por la empresa. Los jefes de departamento soñaban con un futuro analítico con Big Data. No sabían exactamente qué podrían hacer con eso, pero sonaba muy bien, muy potente y muy moderno. Palabras como Machine Learning sonaban por los pasillos y en las reuniones de departamento. Hasta en las reuniones de Dirección, Big Data era un tema a tratar.

Solamente les faltaba la aprobación de un consultor externo experto en Big Data para poder tirar adelante el proyecto.

Los requerimientos mandan

Al enfrentarme a este escenario, lo primero que vi es que el cliente tenía muy decidido el camino a seguir, con lo cual sería muy importante justificar otra opción, si finalmente Big Data no era la mejor alternativa. Como veis, nunca parto de una alternativa única, sino que me gusta plantearme diferentes opciones para así hacer un análisis de pros y contras. De esta manera puedo elegir la más conveniente en cada caso.

Primera norma del consultor: Obtener los requerimientos.

Analizando este escenario, vi que el requerimiento se refería únicamente a un análisis concreto y específico. Al obtener requerimientos analíticos futuros, la respuesta fue que no había una necesidad de análisis posteriores de la información de los weblogs. Tampoco había nadie en la empresa que hubiera mostrado interés por extraer más información de esa fuente de datos en el futuro.

En este caso, el cliente se había inclinado por una solución muy potente para obtener una respuesta muy concreta. Pero esa inversión inicial no tenía en ese momento ninguna visión de futuro, ninguna continuidad que proporcionara un retorno de la inversión (ROI). Es sería la justificación a usar al plantear otra opción.

Propuesta de solución

Dado que los requerimientos presentes y futuros no justificaban una inversión tan grande, me planteé la alternativa de una solución a medida para obtener la respuesta a los requerimientos.

Esta opción consistía en dar una solución a la necesidad del proyecto, sin tener en cuenta la construcción de una plataforma analítica para su uso en futuros proyectos. Se trataba, pues, de un Quick Win.

Las opciones tecnológicas que planteé para esta alternativa fueron:

  • Servidor único, con ejecución serializada de larga duración en un servidor propio o en el cloud.
  • Cluster de Big Data, con ejecución distribuida en el cloud (eliminando la opción de cluster de Big Data propio).

En el primer caso, si el cliente disponía de un servidor donde poder ejecutar el proceso, el coste de hardware y software sería nulo. Únicamente tendrían que tener en cuenta el tiempo de ejecución del proceso, presumiblemente de larga ejecución por la serialización de éste.

El segundo caso, fue planteado únicamente en el cloud para pagar por uso computacional y reducir los gastos si lo comparamos con una solución on premise.

En este caso, la opción propuesta fue la de ejecución serializada en un servidor único disponible en el cliente, puesto que el cliente disponía del hardware necesario para ello. La ejecución del proceso se demoraría durante pocos días, pero daría respuesta a los requerimientos planteados al inicio del proyecto.

Conclusión

Big Data nos permite obtener soluciones a situaciones a las que el BI tradicional no puede dar respuesta.

Una solución de Big Data supone una inversión tanto tecnológica como de recursos humanos importante. Antes de realizar dicha inversión, es conveniente hacer un análisis del ROI para ver la conveniencia o no del esfuerzo económico.

Cuando una organización no dispone de una estrategia analítica o unos requerimientos que justifiquen la inversión de introducir Big Data, es importante explorar otras alternativas.

El uso de Big Data es un caramelo para las organizaciones, pero no siempre es la mejor solución a las necesidades corporativas. Un análisis de los requerimientos a corto, medio y largo plazo permitirá dictaminar la mejor opción.

El Valor de la información

 

Es habitual encontrar definiciones de Big Data basadas en las V’s: Volumen, Velocidad, Variedad, Veracidad… Una V que a menudo aparece en estas definiciones es la de Valor.

Los datos en sí carecen de Valor. Al otorgarles un contexto, estos datos proporcionan información. Y al combinar distintas informaciones aparece el conocimiento, que es el que permite tomar decisiones de manera inteligente.

¿Dónde aparece el Valor? ¿A qué se refiere la gente que habla del Valor en Big Data?

El dato contextualizado como fuente de Valor

El dato contextualizado aporta información. Por ejemplo, un sensor de temperatura puede darnos un conjunto de temperaturas en varias mediciones sucesivas. El contexto incluye las unidades de medida (°C) y la dimensión temporal, entre otras. Solamente con esta versión reducida del contexto, podemos ver la evolución de la temperatura a lo largo de un periodo de tiempo.

Si estas mediciones corresponden al proceso de vitrificación de ovocitos (técnica para la conservación de óvulos a temperaturas inferiores a -196°C), la información de la velocidad de enfriamiento aporta un gran Valor, ya que un proceso demasiado lento podría significar la creación de cristales de hielo que podrían dañar el óvulo.

Por tanto, queda claro que la información (la existencia de datos contextualizados), aporta Valor.

El Valor está en todo sistema analítico

Todo sistema analítico obtiene datos y los contextualiza. Por tanto, la aparición de Valor es propia de todo sistema analítico.

Hablar de Big Data como herramienta indispensable para aportar Valor es negar la posibilidad de que un sistema analítico tradicional (Business Intelligence) aporte Valor.

Big Data, como solución técnica dentro de un sistema analítico, también permite la aparición de Valor. Sin embargo, no aporta Valor por sí mismo. Es la información la que aporta Valor.

¿Qué aporta Big Data?

Big Data no hace que los datos adquieran Valor. Sin embargo, nos permite analizar datos y transformarlos en información, en situaciones en las que un sistema analítico tradicional se ve limitado.

Es aquí donde se halla la «aportación» de Valor de Big Data. En la posibilidad de obtener información que de otra forma no podríamos obtener.

Por tanto, Big Data es una solución que nos permite expandir el Valor global de los datos, por el mero hecho de que puede obtener más información que un sistema analítico tradicional.

Conclusión

El Valor aparece al obtener información a partir de la contextualización de los datos.

Un sistema analítico nos permite obtener información a partir de los datos. Esto significa que todo sistema analítico permite obtener Valor.

Big Data, al superar los límites de un Business Intelligence tradicional, permite obtener más información. Eso supone obtener un Valor adicional. Por eso, el uso de Big Data para obtener la misma información que un Business Intelligence tradicional, no aporta ningún Valor añadido.

Definición de Volumen en Big Data

Las 3 V’s de Big Data son Volumen, Velocidad y Variedad. El concepto de Volumen es fácil de entender. Sin embargo, lo que es más complicado es definir el límite a partir del cual dejamos atrás el Business Intelligence (BI) tradicional para adentrarnos en territorio Big Data.

¿Existe un Volumen máximo para un proyecto de BI? ¿Cuál es Volumen que nos lleva a la utilización de Big Data por la imposibilidad de obtener respuestas analíticas con una solución tradicional dentro de los requerimientos funcionales definidos?

Volumen y tecnología

El Volumen puede medirse en número de registros (miles, millones, miles de millones…) o en tamaño en disco (Gigabytes, Terabytes, Petabytes…).

Suele ocurrir que cuando alguien está acostumbrado a trabajar con cierto volumen de datos, oir hablar de volúmenes superiores en un par de órdenes de magnitud, genera cierto asombro. Es como si ese volumen fuera ir más allá de los límites del universo conocido. De hecho, mi experiencia me ha mostrado que la gente inicialmente suele plantearse cómo poder trabajar con esos volúmenes con la tecnología con la cual trabajan normalmente, es decir, con tecnología dimensionada para volúmenes más pequeños. Y como es de esperar, el rendimiento suele ser bastante pobre, según cuentan los propios afectados.

Pero si incrementamos las especificaciones de las máquinas donde se producen el proceso, almacenamiento y análisis de los datos, vemos que esos volúmenes imposibles de gestionar, pueden ser tratados sin ningún problema. Es decir, la tecnología da soporte al tratamiento de los datos. A mayor volumen de datos, mayor deberá ser la tecnología para dar respuesta a las tareas necesarias para lidiar con los datos.

En una situación así, incrementar la memoria (RAM, cache, etc.), la velocidad de los discos duros donde se almacenan los datos, de las controladoras de discos, del bus que conecta los diferentes componentes tecnológicos de un ordenador, y la velocidad de transferencia de la red, permite incrementar el poder computacional de una solución de BI.

¿Dónde está el límite?

He aquí la pregunta del millón.

Para la gran mayoría de organizaciones que disponen de una solución BI, la ampliación del hardware es una solución de recorrido relativamente corto. El incremento de la capacidad tecnológica va ligado a un incremento del coste del hardware. Y para esta gran mayoría de organizaciones, la inversión tecnológica tiene unos límites (basados en los presupuestos) que no les permiten obtener máquinas de alta capacidad computacional y alto rendimiento.

Para este grupo de organizaciones, se suele decir que el límite de una solución de BI tradicional, con un Data Warehouse como repositorio central de información analítica, está en los pocos Terabytes.

Existen algunas organizaciones (grandes corporaciones y administraciones públicas), que sí que pueden permitirse este tipo de tecnología. En este caso, los volúmenes que pueden llegar a procesar pueden llegar a ser muy grandes, pero puede ser que incluso esta tecnología no sea suficiente para según qué escenarios analíticos.

Para estas organizaciones, si disponen de tecnología punta, el volumen puede superar los pocos Terabytes citados anteriormente, aunque no va mucho más allá si se requiere obtener un buen rendimiento. ¿Cuánto más allá? Dependerá del diseño de la solución analítica, las consultas, la carga del sistema… En fin, depende de tantos factores y tan complejos, que es imposible dar un número a ciencia cierta.

Big Data como solución

Cuando la tecnología no puede incrementarse y el sistema no proporciona un buen rendimiento a las consultas analíticas, es el momento de plantearse un cambio. En este escenario, una solución de BI tradicional no puede dar respuesta debido a la gran cantidad de datos, por lo que es necesario explorar más allá del BI basado en un Data Warehouse.

Big Data, basado en el paradigma tecnológico de la computación distribuida, ofrece una solución a las limitaciones por grandes volúmenes de un BI tradicional.

La tecnología usada por un sistema analítico basado en Big Data no precisa ser de altas especificaciones, sinó que permite trabajar con hardware más modesto. El gran poder computacional de Big Data se basa en el trabajo cooperativo de los diferentes nodos que forman el cluster de Big Data. Además, esta red de máquinas puede crecer de manera flexible, lo que permite ver incrementadas las especificaciones del cluster y por tanto su capacidad de proceso de datos y cálculo.

Conclusión

El límite del Volumen de un BI tradicional no viene dado por un número sinó por la tecnología usada. A la hora de buscar un número, el más habitual ronda los pocos Terabytes.

Incrementar el poder computacional permite a una solución de BI procesar más datos de manera más eficiente, pero siempre encontraremos un límite (bien por rendimiento, bien por presupuesto en una organización).

Big Data aporta la computación distribuida como signo de identidad diferencial respecto al BI tradicional. Esto permite tratar con volúmenes de datos muy superiores al BI tradicional a la vez que lo hace con un mejor rendimiento.

Definición de Velocidad en Big Data

 

Las 3 V’s de Big Data son Volumen, Velocidad y Variedad. El concepto de Velocidad es fácil de entender. Sin embargo, es importante tener muy claro a qué nos referimos exactamente en términos de Big Data.

¿De qué Velocidad hablamos en un entorno de Big Data? ¿Cuál es la Velocidad que nos lleva a la utilización de Big Data por la imposibilidad de obtener respuestas analíticas con una solución tradicional?

 

¿Velocidad de qué?

Para determinar si existe Velocidad es importante saber el ámbito al que nos referimos.

Existen dos conceptos de Velocidad que acompañan a la generación, proceso, almacenamiento y análisis de datos. Éstos son:

  • Velocidad en la generación de datos
  • Velocidad como urgencia del análisis de datos

Velocidad en la generación de datos

Los datos a analizar son generados por los sistemas origen. La manera cómo los datos son generados depende de la naturaleza del sistema origen.

Por ejemplo, si un sistema genera datos a partir de su introducción por parte de una persona mediante una interfaz, la velocidad de generación será relativamente lenta. En cambio, si los datos se generan automáticamente, mediante mediciones realizadas por sensores, por poner un ejemplo, la velocidad de generación de datos puede ser muy elevada.

En una solución de Business Intelligence (BI) tradicional, partimos de la base de que los datos se procesan mediante cargas de datos (batch). Estas cargas obtienen los datos acumulados desde la última carga y los procesan, almacenándolos en el repositorio de datos (típicamente un Data Warehouse).

La idea de que una generación de datos a una gran velocidad no puede ser procesada por un BI tradicional es cierta hasta cierto punto. Veamos un ejemplo.

Para un experimento científico, medimos la temperatura en el interior de un espacio cerrado mediante un sensor de temperatura. Este sensor es capaz de medir la temperatura cada microsegundo (μs). Es decir, es capaz de efectuar 1 millón de medidas por segundo. En nuestro caso, si el experimento se alarga durante 1 hora, el número de registros de temperatura generados será de 3.600 millones.

En este caso, la velocidad de generación de datos es elevada, así como el volumen de datos, debido a la larga duración del experimento.

En cambio, si el experimento dura tan solo 10 milisegundo (10 ms), el número de registros generados será tan solo de 10.000, un volumen que no puede considerarse elevado.

Y ahora la gran pregunta que debemos hacernos a la hora de evaluar Big Data como la solución a seguir en un proyecto analítico: ¿Puede una solución de BI tradicional tratar los datos generados en ese experimento?

La respuesta depende del análisis que vayamos a hacer con esos datos. Si los datos deben ser analizados a posteriori, un BI tradicional será capaz de procesar esos datos y proporcionar un análisis para la toma de decisiones. De hecho, incluso con un experimento de 1 hora, si los datos son analizados después del experimento, un BI tradicional podría procesar esos datos en una carga y almacenarlos en el repositorio.

Hasta en una generación constante de datos, los datos pueden cargarse en un repositorio para su análisis posterior. En ese caso, el problema que aparecería sería el del volumen, pero eso lo veremos en otro artículo.

Velocidad como urgencia del análisis de datos

¿Pero qué sucede cuando necesitamos analizar los datos en tiempo real?

En este caso, incluso con un volumen de datos pequeño, como los 10.000 registros del experimento de 10 ms, un BI tradicional no sería capaz de proporcionar una solución a este requerimiento.

Es posible que necesitemos analizar las medidas de temperatura de nuestro experimento para detectar patrones que puedan indicar un posible fallo en el sistema, y que éste implique el inmediato aborto del experimento para no dañar los componentes utilizados. En este caso, es necesario procesar los datos a medida que son generados para poder anticipar la toma de decisión tanto como sea posible.

La arquitectura de un BI tradicional, incluso con una arquitectura Lambda no es capaz de ofrecer análisis en tiempo real. Por tanto, es necesario el uso de tecnología Big Data para poder dar respuesta a esta necesidad.

Conclusión

La Velocidad puede entenderse como la rapidez en la generación de datos y como la urgencia en el análisis de la información.

Generar datos velozmente no es, en sí misma, una razón para el uso de Big Data en una solución analítica, aunque puede ser la causa de un gran volumen, que podría justificar el uso de Big Data.

En cambio, la velocidad entendida como la necesidad de procesar datos con urgencia, para su análisis en tiempo real (o casi real), sí que justifica el uso de Big Data, puesto que un BI tradicional no es capaz de procesar datos con esa velocidad.