Evolución de la arquitectura Big Data: de Lambda a Kappa

El procesamiento de volúmenes ingentes de datos requiere de sistemas altamente eficientes, capaces de incorporar constantemente nuevas entradas sin parar de generar información útil para la toma de decisiones. Para satisfacer esta necesidad se diseñan las arquitecturas Big Data, modelos que han ido sofisticándose con el paso de los años con el fin de adaptarse a las exigencias de las organizaciones que los utilizan.

Hoy en datahack analizaremos las características y las diferencias que existen entre dos de las arquitecturas Big Data más extendidas: Lambda y la que muchos consideran como su evolución, Kappa.

¿Qué es la arquitectura Big Data?

Una arquitectura Big Data se define como un sistema de tratamiento de datos creado para tomar inputs de diferentes fuentes y con distintos formatos, analizarlos y convertirlos en conclusiones relevantes para el destinatario, de manera que le ayuden a predecir escenarios o determinar qué acción llevar a cabo en una situación dada.

Las arquitecturas Big Data se basan tanto en el almacenamiento como en el procesamiento distribuido de los datos, lo que las hace más seguras que los modelos centralizados en caso de fallos, ya que facilitan la localización y el aislamiento del nodo problemático con celeridad sin comprometer el funcionamiento del resto. Esto reduce, asimismo, la latencia en las conexiones, acortando los tiempos de respuesta en las solicitudes de información.

Otra de las grandes ventajas de las arquitecturas Big Data con respecto a las metodologías de análisis tradicionales es su escalabilidad: se conciben como sistemas adaptativos, preparados para asumir la entrada continua de nuevos conjuntos de datos y para ser extrapolados a ámbitos muy diversos.

Sala de servidores para el almacenamiento Big Data

Arquitectura Lambda: ¿en qué consiste?

Los principios de Lambda como arquitectura Big Data fueron establecidos por Nathan Marz en 2011 en su artículo How to beat the CAP theorem. Lambda se sustenta en una estructura de tres capas:

  • Capa de procesamiento batch, de segmentos o lotes.
  • Capa serving, de servidor o de consulta.
  • Capa de procesamiento streaming, speed o de velocidad.

En la arquitectura Lambda, los datos entran por duplicado, en la capa batch y en la capa streaming. A partir de aquí, se someten a dos tipos de tratamiento:

  1. Procesamiento batch. Aborda los datos por lotes, conjuntos con un inicio y un final acotados. Los resultados de la consulta se muestran en vistas indexadas en la capa de servidor. Ofrece outputs muy fiables, dado que toma en cuenta segmentos completos de registros; pero, a cambio, precisa de un tiempo relativamente largo (minutos u horas) para completar la operación, por lo que no se considera útil en situaciones en las que la toma de decisiones deba ser casi instantánea. Para paliar esta desventaja, lo habitual es diseñar preconsultas en la capa batch que la capa serving indexará como vistas, lo que acelera la respuesta cuando se efectúa la solicitud.
  2. Procesamiento streaming. Proporciona información en tiempo real con vistas que se muestran directamente en la propia capa de velocidad y que se actualizan de forma constante apoyándose en los datos más recientes.

Arquitectura Kappa: ¿alternativa a Lambda?

La arquitectura Kappa nació en 2014 de la mano de Jay Kreps y su reflexión Questioning the Lambda Architecture. En ella, Kreps criticaba el consumo innecesario de recursos que supone mantener y tratar los mismos datos, con el objetivo de obtener resultados similares, en dos sistemas distintos (la capa batch y la capa streaming).

Kreps opina que el procesamiento por lotes también se puede llevar a cabo en la capa streaming. Y, como consecuencia, en su idea de Kappa aboga por suprimir la capa de segmentos, quedándose solo con la de streaming y la de consulta, y pasando a considerar todo como un flujo de datos ininterrumpido, sin final definido, en el que aplicar las operaciones.

Estructura de nodos para el procesamiento Big Data

Arquitecturas Big Data Lambda y Kappa: ¿cuándo utilizar cada una?

A pesar de que Kappa supone una simplificación de Lambda, no por ello constituye una solución para todas las circunstancias. Valorar cuándo y dónde implementar una u otra arquitectura Big Data depende de factores como el tipo de procesamientos simultáneos de los datos que se pretenden realizar, la importancia de la latencia para los actores implicados o si vamos a utilizar la información recabada para el desarrollo de modelos de machine learning. Una decisión delicada que corresponde tomar a los especialistas en Big Data.

¿Quieres aprender más sobre arquitectura Big Data y sobre Lambda y Kappa? Infórmate sobre el Máster Experto en Arquitectura Big Data de datahack, una formación puntera, intensiva y online con la que darás un gran paso adelante en tu carrera profesional en tan solo 15 semanas. ¿Te interesa? Contacta con nosotros y resolveremos tus dudas. Con datahack, ¡te espera un gran futuro en el mundo del Big Data!

Deja un comentario

Datahack logo