Big Data – Procesos en Tiempo Real

2 abril, 2019

Introducción al paradigma “Big Data”

En el año 2018, por minuto, se estima que se generaron cerca de 2 millones de búsquedas en Google, los usuarios de Youtube cargan aproximadamente 48 horas de nuevo contenido y se envían cerca de 204 millones de correos electrónicos [1]. Dichos indicadores forman parte de una tendencia de masivo crecimiento en el volumen y variedad de datos que se ha reforzado en las últimas décadas gracias a la proliferación de aparatos electrónicos. Algunos autores afirman que para el año 2020, cada ser humano en el planeta generará, en promedio, 1.7 megabytes (MB) de información por segundo [2].

Todo lo anterior puede ser descrito en un fenómeno conocido por algunos autores como la “Cuarta Revolución Industrial”. Esta nueva Revolución Industrial se caracteriza por un progreso en áreas como los sistemas físicos-electrónicos, el internet de las cosas (IoT), Big Data, la robótica, la biotecnología, la inteligencia artificial, la biotecnología, entre otras áreas [3]. Para contextualizar el progreso tecnológico detrás de este fenómeno, se puede hacer referencia a dos indicadores de ejemplo:

Figura N°1. Costo por Gigabyte (1980-2015). Fuente: Experts Exchange (2015)

Figura N°2. Procesamiento por cada USD 1000 (1900-2010). Fuente: Kurzweil (2019)

  • El costo por gigabyte (GB): En el año 1981, mantener un hardware con capacidad 19 MB requería una inversión de USD 5.495 al año, lo cual arrojaba un costo de USD 289.000 por GB al año[4]. Hoy en día, se puede obtener por dispositivos que almacenen hasta 5 Terabytes (TB) por menos de USD 60, lo que arroja un precio de menos de USD 1 por GB [5] (Figura N°1).
  • Poder de cálculo de aparatos por cada USD 1000: a principios del siglo pasado, era posible obtener un instrumento electromagnético que efectuase menos de un cálculo por segundo. No obstante, el número de cálculos por segundo ha crecido exponencial en las últimas décadas, alcanzando trillones de cálculos por segundo (Figura N°2).

No obstante, otro aspecto relevante es analizar el tipo de data que se genera diariamente a través de los canales electrónicos. De acuerdo con estimaciones, cerca del 90% de la data generada cada día es no estructurada. Por otro lado, a nivel de negocio, el 80% de los datos generados por las empresas en la actualidad son no estructurados [6]. Distintos reportes concluyen que esta data tenderá a incrementarse en el tiempo. Por ejemplo, se estima una tasa de crecimiento del 500% cada año de la próxima década [7].

Este tipo de datos se enfrentan a las bases de datos que tradicionalmente las empresas manejan, que son los datos estructurados. La diferencia entre ellos es que los no estructurados son aquellos que no poseen ningún tipo de esquema, por lo que su análisis reviste gran dificultad. Por su parte, los datos estructurados son aquellos cuyo esquema tienen una determinada estructura y son de fácil procesamiento. No obstante, estos son los datos menos abundantes generados por la empresa, y suelen estar asociados a una arquitectura de manejo de información rígida y poco escalable.

 

Introducción a la arquitectura “Big Data”

La metodología tradicional de procesamiento de datos estructurados es conocida como ETL (Extraction Transformation and Load). En su primera fase, se captura la data proveniente de las bases de datos relacionales, XML, entre otros. Luego, dicha data se envía a un área intermedia donde es sometida a un proceso de transformación a partir de una serie de reglas. Seguidamente, los datos procesados se cargan en una bodega de datos y son utilizados para analítica.

No obstante, cuando estamos en presencia de datos semi-estructurados o no estructurados, o en presencia de grandes bases de datos, la metodología ETL puede ser una estrategia subóptima. En contraste, la metodología ELT (Extraction, Load and Transformation) puede resultar como una mejor alternativa por la flexibilidad de su arquitectura.

De acuerdo con el proceso ELT, primero se extrae toda la data (estructurada o no estructurada) y se cargan a un repositorio de datos, también llamado lago de datos ), en donde se realizan las transformaciones. El uso de un lago de datos El hacer uso del repositorio de datos es central en el cambio de paradigma pues permite aprovecharse del uso del procesamiento distribuido para acelerar las transformaciones. Finalmente, dichos resultados son utilizados en analítica.

Figura N°3.Procesos ETL  y ELT. Fuente: elaboración propia basada en Tavasoft

Es importante hacer mención a la diferencia entre una bodega de datos (data warehouse) y un lago de datos (data lake). En primer lugar, una bodega almacena datos previamente ya procesados, mientras que un lago almacena datos crudos. En términos de accesibilidad, dado que en un lago de datos no se requiere una estructura, es sencillo acceder y realizar cambios a los datos. Por su parte, la bodega de datos implica una estructura más rígida lo cual hace que sean más fáciles de descifrar, pero más costosos de manipular [8].

Finalmente, para determinar cuál método de procesamiento de datos (ETL o ELT) es adecuado, depende de las necesidades del usuario. Regularmente, cuando el negocio presenta grandes bases de datos de diversas fuentes y con distintos tipos de estructura, se hace recomendable hacer uso de las metodologías ELT (Tabla N°1).

Tabla N°1. Tabla comparativa de los procesos ETL y ELT. Fuente: Dzone

En síntesis: el valor de Big Data consiste en su capacidad de procesar grandes bases de datos (estructurados y no estructurados), cuando los métodos tradicionales no son suficientes. Lo anterior es capaz de otorgar mayor dimensionalidad a la toma de decisiones, a la par que permite aplicar modelos analíticos (prescriptivos y predictivos) a una elevada velocidad, aprovechando la capacidad de procesamiento distribuido.

Regularmente cuando se hace referencia a los tipos de arquitectura de Big Data se suele clasificarlas en al menos dos grupos: (i) Arquitectura por lotes (batch); (ii) Arquitectura en tiempo real (streaming). Un lote es una colección de datos que han sido agrupado en un intervalo de tiempo específico. Por su parte, los procesos de streaming abordan data continua, con poca latencia. No obstante, es importante mencionar que existen arquitecturas intermedias en el espectro, como puede ser los micro-batches, que implica utilizar ingesta por lotes en intervalos de tiempo pequeños.

Figura N°4. Tipos de arquitectura Big Data. Fuente: elaboración propia basado en Microsoft

El procesamiento por lotes (batch) suele ser adecuado para manejar grandes volúmenes de datos o aquellos provenientes de sistemas informáticos heredados, donde no es posible obtener datos en tiempo real. Esta arquitectura requiere cargar los datos por lotes a un lago de datos para su posterior procesamiento. Por su parte el procesamiento por streaming funciona eficientemente en contextos de flujos constantes de datos, donde se requiere análisis y toma de decisiones rápidamente [9].

Cuál arquitectura utilizar, depende nuevamente de las necesidades del usuario. Los procesos por lotes suelen chequear la existencia de nuevos datos de forma periódica y luego procesa una vez ingestado ese nuevo lote de datos. Esto puede generar un mayor tiempo de latencia en la data y que el tiempo de ingesta y procesamiento de los datos sea distinto al tiempo de creación del evento. En síntesis, esta arquitectura es adecuada cuando no es esencial procesar cada evento en el momento en que se genera. Una posible aplicación de la arquitectura por lotes es cuando se desea realizar análisis histórico de los datos o cuando se desea cargar datos de distintas fuentes [10].

Por su parte, los sistemas de streaming poseen una arquitectura orientada a manejar eventos individualmente, tal que se proceda a procesar la data tan pronto se genere el evento. No obstante esta arquitectura puede presentar limitaciones en términos de accesibilidad de la data y calidad de la data. Los casos de uso más importantes de esta arquitectura son aquellos donde se requiere respuesta activa de parte de un usuario tan pronto ocurren ciertos eventos. Este es el tipo de arquitectura implementada frecuentemente en el monitoreo de datos provenientes de sensores, redes sociales, servidores, aplicaciones entre otros.

Caso de estudio: Internet de las cosas Gecko Platform

El Internet de las Cosas (IoT) actualmente experimenta una explosión en el volumen y variedad de datos generados anualmente. Intel estima que en el año 2006, había cerca de 2 billones de dispositivos en todo el mundo. Se estima que para el año 2020, el número alcance 200 billones, lo cual implica 26 objetos inteligentes en promedio por persona en el planeta [11].

Dicha explosión en la existencia y conectividad de nuevos equipos, viene acompañado de una expansión en el volumen de datos que deben analizar las empresas con el objeto de descubrir nuevos patrones y extraer conclusiones. Algunos sectores donde el IoT es intensivamente utilizado son:

  • Transporte inteligente
  • Redes eléctricas inteligentes
  • Monitoreo de sensores de máquinas
  • Mantenimiento de equipos electrónicos
  • Ciudades inteligentes
  • Entre otras

Desde PandaID Soluciones hemos desarrollado una plataforma llamada Gecko Platform, que facilita la ingesta, almacenamiento, procesamiento, análisis y visualización de grandes volúmenes de datos en tiempo real. Gecko Platform se encuentra potenciada para ingestar todo tipo de datos estructurados y no estructurados proveniente de distintas fuentes generadas por máquinas o por personas para lograr un análisis y monitoreo en vivo.

A nivel de IoT, Gecko Platform permite responder preguntas como:

  • ¿Es posible identificar amenazas en los servidores a tiempo real?
  • ¿Los casos de soporte técnico de las redes operacionales son resueltos tan pronto ocurren fallas?
  • ¿Cuáles son las funciones más utilizadas por los usuarios en las aplicaciones web?
  • ¿Cuántos nuevos usuarios llegan diariamente a las aplicaciones web por cada campaña de mercadeo?
  • ¿Cómo es el desempeño de las distintas maquinarias y dispositivos desplegados?

A grandes rasgos Gecko Platform permite hacer un análisis y monitoreo a tiempo real completo de:

  • Equipos electrónicos
  • Aplicaciones web
  • Canales de negocio
  • Redes operacionales
  • Software y Hardware
  • Servidores
  • Firewall
  • CRM
  • Campañas de mercadeo

¿Por qué elegir Gecko Platform?

  • Elevado rendimiento en consultas:  Gecko Platform separa la ingesta de los datos de las consultas y del almacenamiento, por lo que la velocidad de las consultas es 5 veces mayor que en otras plataformas.
  • Rápido procesamiento de eventos: Gecko Platform permite analizar 1 millón de eventos por segundo (EPS) mientras se ingesta 150 EPS por core.
  • Automatización de reportes: Gecko Platform facilita la consulta de datos corrientes e históricos a una elevada velocidad, permitiendo la automatización de reportes.
  • Sistema de alertas a tiempo real: Gecko Platform permite configurar alertas en el segundo que un suceso ocurre.
  • Gran capacidad de integración: Gecko Platform posee más de 1000 integraciones a servidores de aplicaciones, servidores web, cortafuegos, servicios de nube, DNS, sistemas operativos entre otros.
  • Acelerada curva de aprendizaje: Para monitorear datos con Gecko Platform no se requiere conocimientos de programación.
  • Manejo inteligente de datos: Gecko Platform puede desplegar modelos de análisis de datos y de aprendizaje automático (Machine Learning) de forma sencilla, haciendo uso de las HTTP APIs.

 

Conclusiones

El mercado de productos y servicios de Big Data no parece evidenciar una ralentización en ningún momento próximo. Por el contrario, los próximos años comprobarán tasas de crecimiento aceleradas en las ganancias de las compañías desarrolladoras de servicios y softwares asociados a Big Data, así como una ganancia en competitividad por parte de las empresas que demandan dichos servicios.

En buena medida, muchas empresas se encuentran en proceso de migración hacia arquitecturas de Big Data basadas en procesos de streaming y análisis a tiempo real. Desde PandaID Soluciones hemos desarrollado Gecko Platform una plataforma de Big Data para el análisis y monitoreo de Big Data en tiempo real. Por el elevado desempeño y versatilidad de Gecko Platform se hace ideal para monitorear datos estructurados y no estructurados generados por máquinas o por humanos. Adicionalmente, Gecko Platform posee gran facilidad de despliegue y escalabilidad, lo cual permite que casi cualquier industria o sector pueda hacer uso de la plataforma para generar valor.

 

 

Fuentes:

[1] “Data Never Sleeps Infographic | Domo | Domo.” Connecting Your Data, Systems & People, www.domo.com/learn/infographic-data-never-sleeps.
[2] Marr, Bernard. “Big Data: 20 Mind-Boggling Facts Everyone Must Read.” Forbes, Forbes Magazine, 19 Nov. 2015, www.forbes.com/sites/bernardmarr/2015/09/30/big-data-20-mind-boggling-facts-everyone-must-read/#64fb49f217b13Schwab, Klaus. The Fourth Industrial Revolution. Currency, 2017.
[4] “Kurzweilaccelerating Intelligence.” Kurzweil SIN Charts Category, www.kurzweilai.net/sin-charts#!prettyPhoto.
[5] Mearian, Lucas. “Data Storage — Then and Now.” Computerworld, Computerworld, 14 Mar. 2014, www.computerworld.com/article/2473980/data-storage-solutions-143723-storage-now-and-then.html#slide3.
[6] Cyclone Interactive Multimedia Group, Inc., and Cyclone Interactive Multimedia Group, Inc. “The Digital Universe of Opportunities: Rich Data and the Increasing Value of the Internet of Things.” Executive Summary: Data Growth, Business Opportunities, and the IT Imperatives | The Digital Universe of Opportunities: Rich Data and the Increasing Value of the Internet of Things, www.emc.com/leadership/digital-universe/2014iview/executive-summary.htm.
[7] “Unstructured Data: What Lies Beneath | TIBCO Spotfire.” The TIBCO Blog, 17 Dec. 2016, www.tibco.com/blog/2015/03/30/unstructured-data-what-lies-beneath/.
[8] “Data Lake vs Data Warehouse: Key Differences – Talend.” Talend Real-Time Open Source Data Integration Software, www.talend.com/resources/data-lake-vs-data-warehouse/.
[9] “The Big Data Debate: Batch Versus Stream Processing.” The New Stack, 22 June 2018, thenewstack.io/the-big-data-debate-batch-processing-vs-streaming-processing/ .
[10] “Understanding Batch, Microbatch, and Streaming.” Streamlio – Real-Time Solution for Streaming Data Messaging, Processing, and Storage, streaml.io/resources/tutorials/concepts/understanding-batch-microbatch-streaming.
[11] “A Guide to the Internet of Things Infographic.” Intel, www.intel.com/content/www/us/en/internet-of-things/infographics/guide-to-iot.html.