Stack Apache Kafka + Zookeeper ejecutando Data Pipeline en Cluster de Apache NiFi

Hoy venimos con un artículo de lujo en el que construiremos un Stack entero con: Apache Kafka Apache Zookeeper Apache NiFi en Cluster Kafka Manager Bien, tanto de Apache Kafka como de Apache NiFi hemos hablado un montón, pero hoy el artículo está totalmente focalizado a tenerlo como chuleta para lanzar un Docker Compose con un Stack totalmente funcional y en pocos minutos. Docker Compose para un Stack de “Apache Kafka + Zookeeper + Apache NiFi” Para controlar, tanto Apache Kafka como la funcionalidad del Cluster de Apache NiFi, utilizaremos Apache Zookeeper. [Leer más]

InfluxDB: BigData con series temporales

InfluxDB, o mejor dicho, InfluxData es una plataforma muy completa para el tratamiento de grandes cantidades de datos, desde su recolección hasta su análisis final. Actualmente ya es una alternativa muy interesante para trabajar en escenarios de BigData pudiendo conseguir una gran optimización en su almacenamiento y en el acceso. El Stack Stack de InfluxData se construye alrededor de InfluxDB para manejar grandes cantidades de información con series temporales. Esta base de datos de series de tiempo proporciona soporte para nuestras necesidades de análisis de métricas (DevOps Monitoring, sensores IoT, análisis en tiempo real,…). [Leer más]

Faust: Stream Processing for Python

Faust es una librería de procesamiento en flujo distribuido que ha sido diseñada y construida para manejar el procesamiento de grandes cantidades de datos en tiempo real. Se inspira en Kafka Streams, pero adopta un enfoque ligeramente diferente en el procesamiento de los flujos. Faust está escrito en Python 3, aprovechando así sus notables mejoras de rendimiento y se integra con su librería asyncio (Asynchronous I/O), escrita para facilitar los procesos asíncronos de alto rendimiento. [Leer más]

Real-Time: Data Streaming

Desde hace ya un tiempo que vamos hablando sobre #Data-Streaming, publicando casos reales como el de ING Direct. Aunque hoy queremos hacer una “review” general para ir enfocando próximos capítulos ya que, más que nunca, está de “moda” el tener Real-Time en nuestras plataformas de analítica. Por ejemplo en el caso anterior, del Banco ING, podemos ver como las transacciones online que están realizando sus clientes, rápidamente, están disponibles para sus equipos de Customer Support, vital para una eficiente atención al cliente. [Leer más]

Enterprise Data Hub (EDH)

Aunque sabemos que las arquitecturas Enterprise Data Hub (EDH) no son especialmente recomendadas, podemos decir que en muchas situaciones, pueden ayudarnos y bastante. Como idea base tenemos que tener claro que nunca en nuestra EDH tendremos la lógica del negocio, la usaremos “simplemente” como streams de datos. Una manera interesante de conectar distintos tipos de source es mediante una EDH, aunque tendremos distintos tipos de “caminos”, los generados directamente por eventos (PUSH) o los que tendremos que hacer una recuperación para inyectar los datos en el procesos (PULL). [Leer más]

Introduction to CQRS (segregando la tipología de uso y del dato)

En anteriores post hemos hablado sobre Data streaming como también de escalar bases de datos. Pero hoy vengo a darte una introducción, clara y concisa, sobre CQRS y su aplicación; utilizando un tanto los posts mencionados anteriormente. CQRS es un método para optimizar escrituras en bases de datos (write) y leerlas (read). Hoy en día, algunas más que otras, las empresas están ya acostumbradas a trabajar con grandes volúmenes de datos y, por lo tanto, con grandes bases de datos. [Leer más]

API with Express, Mongoose & MongoDB

Cuando queremos tener una arquitectura desacoplada o, cuando necesitamos tener un acceso programático a nuestro producto y/o servicio, lo más normal y común es tener un servicio de API. Concretamente una API RESTful para, por ejemplo, poder ofrecer servicios como: GET para consultar y leer, POST para crear, PUT para editar y DELETE para eliminar. Bien, uno de los lenguajes más famosos y, recomendable, para poder construir nuestra API RESTful es NodeJS y más concretamente su Framework Express que nos proporciona muchas herramientas útiles para poder organizar nuestra aplicación. [Leer más]

Democratización de datos, Data Self-Service con Druid + Imply.io

Tanto las herramientas de Bi (Business Intelligence), más tradicionales, como las más novedosas y nacidas a partir de la “irrupción” del BigData como son por ejemplo: Tableau, PowerBI, entre muchas otras… han transformado fundamentalmente la forma en que operamos los datos las organizaciones. Los directivos de todas las industrias ahora están utilizando la tecnología de análisis Big Data para una amplia gama de procesos, objetivos y necesidades de gestión. Y las aplicaciones potenciales de las herramientas de BI modernas son prácticamente infinitas, ya que han irradiado en casi todos los aspectos de la gestión operativa y la supervisión estratégica como, se han podido beneficiar de conocimientos más potentes y rápidos. [Leer más]

Kafka data structures, Zookeeper Offsets

Desde la versión 0.9 (current: 1.1.0), Kafka proporciona la capacidad de almacenar y distinguir los cambios sucedidos en los respectivos “topic” (offsets) directamente en Kafka en lugar de depender del Zookeeper. Los datos en Zookeeper, aunque son similares a un típico sistema de directorios, pueden tener datos asociados a los nodos. Estos datos pueden variar desde datos de configuración, detalles de estado, marcas de tiempo, etc… que ayudan a Zookeeper a hacer lo que mejor sabe hacer. [Leer más]

Distributed Real-Time Stream Processing

Ya en un anterior post comentamos un caso de Arquitectura en “Streams” no nativa, es decir, obteniendo datos transaccionales o operativos los convertiamos en “Streams” mediante una Pipeline para poder analizarlos mediante un sistema Distribuido. Hoy, presentamos un sistema Distributed Real-Time Stream Processing nativo, veamos dos ejemplos de arquitectura, entre los cuales, uno nos será muy próximo. Real Time Analytics Architecture En el siguiente Diagrama tenemos el caso que vamos a explicar: [Leer más]