El Big Data hace referencia a la cantidad de datos que se generan y almacenan día a día. Estos datos se pueden almacenar para obtener ideas que ayuden a tomar decisiones a las personas, empresas, etc. Debido a que cada vez hay un mayor número de datos almacenados, las arquitecturas Big Data han evolucionado para optimizar la recopilación y almacenamiento de estos datos.

Internet y las nuevas tecnologías han revolucionado (y generado una evolución) en nuestra manera de vivir, trabajar, generar negocio… pero ellas también han avanzado en los últimos años. Un ejemplo claro lo encontramos en cómo han evolucionado las arquitecturas Big Data a lo largo del tiempo.

El procesamiento de datos requiere de sistemas altamente eficientes, capaces de incorporar constantemente nuevas entradas. Es por ello por lo que, como sustituta de la tecnología Lambda, nace, en el año 2014, la arquitectura Kappa.

Así, cabe destacar que la principal diferencia entre las dos son los flujos de tratamiento de datos que intervienen, pero vamos a conocer a fondo en qué consiste cada una de ellas.

¿Qué es una arquitectura de transmisión?

Las arquitecturas de transmisión son un conjunto de tecnologías que trabajan juntas con el objetivo de tomar medidas sobre una serie de datos en el momento en que se crean, es decir, de manejar el procesamiento de transmisión.

¿Qué es Lambda?

La arquitectura Lambda apareció en el año 2012. Su creador, Nathan Marz, pretendía generar un sistema fuerte que tolerase los fallos, que fuera escalable y con baja latencia.

Asimismo, Lambda provoca una integración de la informática fuera de línea y la informática en tiempo real, integra los principios de inmutabilidad, separación de lectura-escritura y aislamiento de la complejidad, etc.

Su principal característica es la utilización de distintas capas en el procesamiento batch y el streaming, pero, en general, se caracteriza por lo siguiente:

  1. La información nueva que se recoge se envía a la capa de batch y a la capa de streaming.
  2. Dentro de la capa batch se produce la gestión de la información en crudo (sin modificar) y los datos nuevos se añaden a los ya existentes. Tras esto se hace un tratamiento a través de un proceso batch cuyo resultado serán las denominadas Batch Views, que se utilizarán en la capa que sirve los datos para ofrecer la información ya transformada al exterior.
  3. La capa que sirve los datos indexa las Batch Views generadas anteriormente para que puedan ser consultadas con baja latencia.
  4. La capa de streaming compensa la alta latencia de las escrituras que ocurre en la serving layer y únicamente tiene en cuenta los datos nuevos.
  5. Por último, la respuesta a las consultas realizadas se produce combinando los resultados de las Batch Views y de las vistas en tiempo, generadas en el anterior paso.

¿En qué consiste Kappa?

Kappa, por su parte, se atribuye a Jay Kreps. Fue introducida en el 2014 y su creador señaló y solucionó algunos puntos débiles de Lambda, tales como eliminación de la capa batch, dejando únicamente la capa de streaming.

Esta evolución de Kappa se basa principalmente en una simplificación de Lambda, donde todo el procesamiento se lleva a cabo en una sola capa denominada de tiempo real o Real-time Layer.

Además, con Kappa no se modifican los datos de partida y existe un solo flujo de procesamiento, provocando que el código, el mantenimiento y la actualización del sistema se reduzcan también.

¿Cuáles son las diferencias entre ambas arquitecturas?

Así, como hemos adelantado a lo largo del artículo, la principal diferencia entre ambas reside en los flujos de tratamiento de datos que intervienen, siendo Kappa mucho más sencilla que su predecesora.

Además, Kappa, por su parte, permite construir su sistema de transmisión y procesamiento por lotes en una sola tecnología y ofrece una infraestructura más moderna, con un procesamiento bien distribuido.

Ya sabes, si necesitas ayuda con este tipo de arquitecturas o necesitas algún tipo de información sobre Big Data, ¡contacta con nosotros!