La Arquitectura Lambda que ha surgido en los últimos años con el objetivo de dar respuesta global a diferentes necesidades de análisis Big Data, presenta cuatro capas de aplicación que veíamos con detalle en el anterior post.En este caso, nos centramos en las tecnologías propias más importantes, identificando su capa de aplicación.
Las tecnologías que se emplean son en la capa de pre- procesado son:
- Sribe. Se trata de un servicio encargado de agregar flujos de datos de registro provenientes de distintos servidores en tiempo real.
- Kafka. Consiste en un sistema de mensajería distribuido de alto rendimiento basado en el uso de TOPIC.
- Flume. Servicio centrado en la recolección, agregación y distribución de grandes cantidades de datos de registro siguiendo una arquitectura simple y flexible, basada en el streaming de flujos de datos.
- Talend. Se trata de una de las soluciones más importantes de código abierto para la gestión de datos en el entorno Big Data, puesto que permite realizar, entre otras, labores de extracción, transformación y carga (ETL).
- Penaho. Es también una plataforma completa que alberga un conjunto de servicios de Business Intelligence (BI) que permiten realizar, entre otros, minería de datos, actividades ETL, generación de informes, etc.
- Sqoop. Proyecto centrado en el desarrollo de una aplicación de línea de comandos encargada de realizar la trasferencia de datos entre distintas bases de datos relacionales y Hadoop.
- Chukwa. Sistema de código abierto para la monitorización de grandes sistemas distribuidos. Se apoya sobre las soluciones HDFS y MapReduce.
Con relación a las tecnologías a emplear en la capa de análisis de Big Data, la tecnología genérica que se emplea en esta capa es Spark, una herramienta encargada de realizar procesamientos masivos de datos de forma eficiente basada en un sistema de computación distribuida a través de clústers de ordenadores.
En cuento a las tecnologías de las subcapas descritas en el anterior artículo de la capa de análisis, se describen a continuación las más importantes:
Las tecnologías más importantes asociadas a la capa de velocidad son:
- Storm. Sistema de computación distribuida en tiempo real que sigue la arquitectura master-salve donde ninguna instancia mantiene estado. Su modelo de datos se basa en tuplas.
- Spark streaming. Es una extensión del propio Spark encargada de suministrar capacidades de procesamiento continuo según streaming de datos.
- S4. Plataforma para la computación distribuida en streaming desarrollada por Apache.
Sobre la capa batch se emplean las siguientes tecnologías:
- Hadoop HDFS. Sistema de archivos distribuido, portátil y escalable especialmente desarrollado para el framework Hadoop. Presenta una alta tolerancia a fallos y está diseñado para su desarrollo sobre arquitecturas de bajo coste.
- PostgreSQL. Sistema de gestión de bases de datos relacionales de código abierto, basado en un modelo cliente servidor.
Las tecnologías destacables en la capa de servicios son:
- Pig. Plataforma para el análisis de grandes cantidades de datos que permite generar programas basadas en MapReduce para utilización en Hadoop.
- Cassandra. Base de datos NoSQL distribuida y basada en un modelo de almacenamiento de clave-valor, cuyo objetivo principal es la escalabilidad lineal y la disponibilidad.
- Hive. Infraestructura para el almacenamiento de datos construida sobre Hadoop que permite realizar consultas, cálculos y análisis de los datos que alberga, a través de un lenguaje similar al SLQ llamado HiveQL.
- Cascading. Software de abstracción para el uso de Hadoop, usado principalmente para crear y ejecutar procesos complejos con grandes cantidades de datos.
- HBase. Servicio para el modelado de bases de datos no relacionales y distribuidas escrito en Java que corre sobre HDFS.
Leave a Comment