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]

Data Transformation Pipelines (Apache Nifi, Flink, Kafka y MongoDB) (Parte 1)

Ya en anteriores artículos hemos explicado la importancia de tratar con datos organizados ya que el Big Data como tal, ¡no sirve de nada!. Para ello existen los llamados procesos de transformación (Data Transformation) que consisten, entre otros, a convertir ese Big Data en un Smart & Small Data Concept. Para ello podemos utilizar muchas tecnologías, ya anteriormente hemos hablado de FluentD o bien del Stack ELK (Elasticsearch + Logstash + Kibana) como buenas soluciones para poder crear flows de Data Transformation, mejor dicho, Flows envío y agregación de Datos. [Leer más]

Instalación + Configuración Apache Kafka en Docker

Kafka, sin ir más lejos, es un proyecto de intermediación de mensajes de código abierto desarrollado por la Apache Software Foundation y escrito en Scala. Entre sus características principales, podremos realizar: Publicación y suscribción de flujos de registros (Bastante similar a una cola de mensajes o un sistema de mensajería). Almacenar flujos de registros tolerante a fallos (Sistema de Buffer con un periodo de retención de mensajes). Procesar flujos de registros a medida que ocurren. [Leer más]