Arquitectura lambda vs kappa vs delta
Una arquitectura de big data está diseñada para gestionar la ingestión, el procesamiento y el análisis de datos demasiado grandes o complejos para los sistemas de bases de datos tradicionales. El umbral a partir del cual las organizaciones entran en el ámbito de los macrodatos varía en función de las capacidades de los usuarios y sus herramientas. Para algunos, puede significar cientos de gigabytes de datos, mientras que para otros significa cientos de terabytes. A medida que avanzan las herramientas para trabajar con grandes conjuntos de datos, también lo hace el significado de big data. Cada vez más, este término se relaciona con el valor que se puede extraer de los conjuntos de datos mediante análisis avanzados, más que estrictamente con el tamaño de los datos, aunque en estos casos suelen ser bastante grandes.
A lo largo de los años, el panorama de los datos ha cambiado. Lo que se puede hacer, o se espera que se haga, con los datos ha cambiado. El coste del almacenamiento se ha reducido drásticamente, mientras que los medios por los que se recopilan los datos no dejan de crecer. Algunos datos llegan a un ritmo rápido, exigiendo constantemente ser recogidos y observados. Otros datos llegan más lentamente, pero en grandes cantidades, a menudo en forma de décadas de datos históricos. Es posible que se enfrente a un problema de análisis avanzado o que requiera aprendizaje automático. Son retos que las arquitecturas de big data tratan de resolver.
Casos prácticos de la arquitectura Kappa
Una arquitectura de big data está diseñada para gestionar la ingestión, el procesamiento y el análisis de datos demasiado grandes o complejos para los sistemas de bases de datos tradicionales. El umbral a partir del cual las organizaciones entran en el ámbito de los macrodatos varía en función de las capacidades de los usuarios y sus herramientas. Para algunos, puede significar cientos de gigabytes de datos, mientras que para otros significa cientos de terabytes. A medida que avanzan las herramientas para trabajar con grandes conjuntos de datos, también lo hace el significado de big data. Cada vez más, este término se relaciona con el valor que se puede extraer de los conjuntos de datos mediante análisis avanzados, más que estrictamente con el tamaño de los datos, aunque en estos casos suelen ser bastante grandes.
A lo largo de los años, el panorama de los datos ha cambiado. Lo que se puede hacer, o se espera que se haga, con los datos ha cambiado. El coste del almacenamiento se ha reducido drásticamente, mientras que los medios por los que se recopilan los datos no dejan de crecer. Algunos datos llegan a un ritmo rápido, exigiendo constantemente ser recogidos y observados. Otros datos llegan más lentamente, pero en grandes cantidades, a menudo en forma de décadas de datos históricos. Es posible que se enfrente a un problema de análisis avanzado o que requiera aprendizaje automático. Son retos que las arquitecturas de big data tratan de resolver.
Ejemplo de arquitectura lambda
Este post está fuertemente inspirado en el artículo de Jay Kreps “Questioning the Lambda Architecture” de 2014 (!) y mapea sus pensamientos a la situación del mundo real en 2021. Hoy en día, casi todas las soluciones empresariales, proveedores de almacenamiento y análisis de datos y aplicaciones empresariales aprovechan el streaming de eventos y los paradigmas de comunicación basados en eventos asíncronos y verdaderamente desacoplados para el procesamiento de datos. Por ese motivo, muchos pasan de arquitecturas Lambda a arquitecturas Kappa.
Mi entrada de blog “Microservices, Apache Kafka, and Domain-Driven Design” (Microservicios, Apache Kafka y diseño orientado al dominio) explora este debate con más detalle (a pesar de que la palabra de moda “malla de datos” no existía en el momento de escribir este artículo). TL;DR: Una infraestructura de streaming basada en eventos como Apache Kafka permite de forma única un desacoplamiento adecuado y un procesamiento de datos en tiempo real (al contrario que las arquitecturas de microservicios tradicionales basadas en servicios web / REST / HTTP y al contrario que los sistemas de mensajería tradicionales (MQ, ESB). La entrada del blog sobre Kafka frente a MQ/ETL/ESB también puede ser útil para obtener más información.
Piense en su sector, sus unidades de negocio, los problemas que resuelve y las nuevas aplicaciones innovadoras que crea. Los datos en tiempo real son mejores que los datos lentos. Esta afirmación es casi siempre cierta. Ya sea para aumentar los ingresos, reducir los costes, disminuir los riesgos o mejorar la experiencia del cliente.
Arquitecturas de procesamiento de datos
La aparición de Internet, hace ya más de dos décadas, ha transformado los modelos de negocio y, en los últimos años, los datos han cobrado especial relevancia para la toma de decisiones de cara al futuro de las empresas.
Cuando hablamos de Big Data nos referimos a grandes volúmenes de datos, tanto estructurados como no estructurados, que se generan y almacenan día a día. Aunque lo realmente importante no es la cantidad de datos que tenemos, sino qué hacemos con ellos y qué decisiones tomamos para ayudar a mejorar nuestro negocio, basándonos en el conocimiento obtenido tras analizar los datos.
Spark es un motor de procesamiento de datos distribuido capaz de manejar grandes volúmenes de información. Podría entenderse como una evolución de Hadoop MapReduce, ofreciendo entre otras las siguientes ventajas sobre éste:
En la línea temporal que hemos visto anteriormente, podemos encontrar dos letras griegas en el gráfico en los años 2012 y 2014, que han dado nombre a las diferentes arquitecturas de las que vamos a hablar a continuación.
Dado que las empresas cada vez tienen un mayor volumen de datos y necesitan analizarlos y obtener valor de ellos lo antes posible, surge la necesidad de definir nuevas arquitecturas que cubran casos de uso diferentes a los existentes.

