Cabecera personalizada

El blog de Mikel Niño
Emprendimiento digital, startups, Big Data Analytics y nuevos modelos de negocio

La Arquitectura Lambda para el diseño de sistemas Big Data

Al hablar del procesamiento de streams de datos en tiempo real ya comentábamos que no es un enfoque por el que deba optarse renunciando al enfoque batch, sino que podemos aspirar a diseñar sistemas Big Data los integren, para así poder dar una respuesta global a diferentes necesidades de análisis sobre la misma fuente de datos masivos. Esta idea de proporcionar una aproximación genérica al diseño de sistemas Big Data, integrando diferentes modalidades de tratamiento de datos, y que se pueda concretar en cada caso con las tecnologías específicas adecuadas, es en la que Nathan Marz lleva trabajando los últimos años, definida como “Lambda Architecture” (Arquitectura Lambda) y cuyo desarrollo queda recogido en el libro “Big Data” que ha publicado en abril de 2015 junto con James Warren.

La idea de la que parte Marz para concebir la Arquitectura Lambda es la de repensar los sistemas de tratamiento de datos desde cero para que su diseño sea el adecuado para trabajar con Big Data. Partiendo de ahí, se identifican los principios y elementos fundamentales con los que debe contar un sistema de este tipo (y cómo se interrelacionan) para responder a diferentes necesidades de procesamiento de datos y al mismo tiempo asegurar objetivos como la escalabilidad o la tolerancia a fallos. Esto da pie a una arquitectura genérica que integra todos estos conceptos, y que guía el proceso de diseño del sistema y la elección de las tecnologías específicas a integrar en cada caso. Este es el esquema de alto nivel que describe los elementos clave de la Arquitectura Lambda:

[Esquema de alto nivel de la Arquitectura Lambda - Fuente: http://lambda-architecture.net/]

Este enfoque de aproximación global al procesamiento de Big Data, integrando los enfoques de tratamiento en tiempo real y en diferido de los datos, se ha ido adoptando progresivamente para el diseño de estos sistemas y ya son varios los ejemplos notables (por ejemplo el caso de Twitter Summingbird) que siguen esta estrategia. El sitio web lambda-architecture.net, lanzado por Michael Hausenblas y Nathan Bijnens, recoge una lista de dichos casos de aplicación así como diversas referencias para conocer los conceptos principales de la Arquitectura Lambda.

Algunas otras referencias nos pueden servir como ejemplos de qué tecnologías específicas podemos escoger e integrar para concretar los diferentes elementos genéricos de una Arquitectura Lambda. Así, tenemos el ejemplo de esta entrada en el blog de James Kinley, en la que describe una implementación de dicha arquitectura integrando Apache Hadoop/HDFS, Apache Storm, Apache HBase y Cloudera Impala. Esta otra entrada del blog de Jörn Franke recoge recomendaciones muy útiles para escoger entre diferentes opciones de herramientas para implementar un sistema Big Data siguiendo esta arquitectura.

No hay comentarios:

Publicar un comentario