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]

Los Beneficios (con seguridad) de los Metadatos (Apache Atlas + Ranger + Kafka)

¿Qué pasa cuando queremos aplicar seguridad a nuestros Datos? Por lo general podemos aplicar muchos tipos como también, distintas capas de seguridad. Por ejemplo lo más frecuente sería una validación mediante OpenID para los usuarios y mediante API Key para los usos programáticos, con una siguiente capa mediante validación IAM para el uso entre infraestructuras o componente más “físicos” y podemos continuar extendiendo mucho más allá, no quiero profundizar ahora mismo con ello… mi pregunta, mejorada, es la siguiente: ¿Qué pasa cuando queremos aplicar seguridad a nuestros Datos que se consumem mediante subscripción? [Leer más]