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]

Replicando datos en tiempo real (Log Shipping vs Mirror Data)

Hemos hablado bastante sobre “Stream Processing”, “Data Stream”, “Distributed Real-Time Stream Processing”, “Data Sharding”, etc… pero, por lo general, siempre contamos con que tendremos una fuente de datos lo suficientemente preparada como para poder coger los datos y convertirlos en procesos o streams. Pero, seamos sinceros, raramente pasa. Es por eso que tenemos soluciones interesantes cuando, por ejemplo, tenemos una base de datos SGBD (puede ser Oracle o SQLServer) y queremos realizar una réplica de la base de datos origen hacia un destino. [Leer más]

Red Points, smart solution for brand protection

Todos sabemos que los conflictos en torno a la propiedad intelectual son un problema para cualquier empresa, sea pequeña, mediana o grande. También, es cierto, si somos una empresa pequeña quizás no podremos tener las mismas posibilidades que una empresa grande, los costes legales son altos. Pero gracias a Red Points se le ha dado la vuelta al problema. Tal y como nos cuentan, anteriormente se combatía el fraude, la piratería, mediante servicios legales, cuyas minutas de abogados eran difíciles de poder pagar por lo elevados costes. [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]

Scale-out + Data Shard (Databases Architecture)

Imaginemos la siguiente situación: somos una empresa y hemos crecido de forma orgánica, pero, se ha acumulado toda nuestra información en una “Monster Database”. ¿Qué tenemos delante nuestro? Claramente tenemos un gran problema, ya que seguramente ésta tendrá un coste (€) alto sumado a que tenemos una base de datos y un gran punto de fallo, sin entrar en detalles de escalabilidad, etc… Podríamos afrontar el problema haciendo un triple salto, aunque seguramente el resultado no sería, pada nada, el esperado (con suerte… quizás si). [Leer más]

Artificial Intelligence and Machine Learning for Dummies

La Inteligencia Artificial (AI) y el Machine Learning (ML) están siendo utilizados, no solo como asistentes personales para distintas actividades como recientemente hemos podido ver, sino también para atender llamadas y gestionar demandas, conducir vehículos, enviar información segmentada a través de Predictive and Prescriptive Analytics y mucho mucho más. Así de entrada podemos dividir la Inteligencia Artificial en dos bloques: IA General o Amplia y la IA Aplicada o Estrecha. Como en todo, hay un debate, entre Inteligencia Artificial y el Machine Learning y trata más sobre las distintas particularidades entre casos de uso (por ejemplo), como entre sus implementaciones y diferencias reales, no olvidemos que son tecnologías aliadas que trabajan juntas, siendo AI el concepto más amplio y el ML, una parte de él (ver diagrama). [Leer más]

Bitphy, predictive analytics and Machine Learning technologies

Tengo especial ilusión en hacer éste artículo ya que, en un solo post y en una sola empresa, podremos descubrir/resumir lo que se ha venido trabajando durante meses en la web. Es decir, conceptos como los comentados en unos cuantos posts anteriores, veamos el listado: Distributed Real-Time Stream Processing, Data Ingestion & Distribution by Pipeline Process, Una Estrategia Data Centric para nuestra Transformacion Digital, DataOps & Data As A Service (or DaaS), Data Scaling Architectures & Data Caching Architectures en AWS (Hazelcast vs Elasticsearch vs Memcached), Data Transformation Pipelines (Apache Nifi, Flink, Kafka y MongoDB). [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]