Integración de datos en la nube: un enfoque moderno para la analítica aplicado al entorno fintech

Scroll to see more

Implementación de un data lakehouse con CDC en AWS

toqio

En la era de la transformación digital, los datos se han convertido en uno de los activos más valiosos para cualquier organización. La capacidad de recolectar, integrar y explotar información proveniente de diversas fuentes permite a las empresas obtener insights críticos para la toma de decisiones, mejorar la eficiencia operativa y mantener una ventaja competitiva en el mercado. Sin embargo, el verdadero potencial de estos datos solo se materializa cuando se superan los silos tradicionales y se implementa una estrategia de integración coherente. Las organizaciones modernas enfrentan el reto de unificar datos estructurados y no estructurados, provenientes de sistemas transaccionales, aplicaciones en la nube, dispositivos IoT y fuentes externas, todo ello, mientras mantienen la integridad, seguridad y actualidad de la información. La consolidación de estos flujos heterogéneos en plataformas analíticas robustas ha evolucionado significativamente con la aparición de arquitecturas como los data lakehouses, que combinan la flexibilidad de los data lakes con la confiabilidad y el rendimiento de los data warehouses tradicionales.

En este artículo se explicará cómo implementar un data lakehouse en AWS, integrando el proceso de Change Data Capture (CDC) para capturar y reflejar de manera eficiente los cambios en los sistemas de producción. Específicamente, se abordará el proceso de replicación desde sistemas de bases de datos NoSQL como MongoDB hacia un data lakehouse centrado en permitir un análisis eficiente de los datos. Esta implementación permite que las organizaciones consoliden grandes volúmenes de datos heterogéneos y los preparen para un análisis profundo y en tiempo real.

Esta arquitectura de integración de datos resulta particularmente relevante para diversos sectores empresariales, destacando especialmente su impacto en el ámbito fintech. Las empresas financieras tecnológicas operan en un entorno donde la velocidad, precisión y seguridad de los datos son críticas para su supervivencia. Un data lakehouse con capacidades CDC permite a las fintech procesar transacciones en tiempo real, mientras simultáneamente analizan patrones de comportamiento para detectar fraudes, optimizar la evaluación de riesgos crediticios y personalizar ofertas financieras. La capacidad de mantener un historial inmutable de cambios en los datos no solo facilita el cumplimiento de estrictas regulaciones financieras como PSD2 o normativas anti-lavado de dinero, sino que también habilita la reconstrucción de estados históricos para auditorías o análisis retrospectivos.

Más allá del sector fintech, esta arquitectura ofrece ventajas significativas para sectores como retail, donde permite el análisis de comportamiento de compra y optimización de inventario en tiempo real; salud, facilitando la integración de historiales clínicos con datos de dispositivos médicos para medicina preventiva; manufactura, donde posibilita el mantenimiento predictivo mediante la integración de datos IoT con sistemas de producción; y telecomunicaciones, permitiendo analizar la calidad del servicio y patrones de uso para mejorar la experiencia del cliente. En todos estos casos, la capacidad de sincronizar datos operativos con entornos analíticos sin generar carga adicional en los sistemas de producción representa una ventaja competitiva sustancial.

Arquitectura data lakehouse: convergencia de flexibilidad y rendimiento

Para comprender adecuadamente la arquitectura de un data lakehouse, es fundamental entender primero su componente base: el data lake. Un data lake es un repositorio centralizado diseñado para almacenar enormes volúmenes de datos en su formato original, ya sean estructurados, semiestructurados o no estructurados. En entornos cloud como AWS, un data lake típicamente se implementa utilizando servicios de almacenamiento como Amazon S3, que proporciona alta durabilidad, disponibilidad y escalabilidad prácticamente ilimitada a bajo coste.

imagen-toqio-1

Fuente: https://www.databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html

Sin embargo, los data lakes tradicionales, aunque ofrecen gran flexibilidad en el almacenamiento, presentan importantes limitaciones cuando se trata de soportar cargas de trabajo analíticas complejas. Entre sus principales desafíos se encuentran la falta de transaccionalidad, problemas de gobernanza de datos, rendimiento subóptimo para consultas complejas y dificultades para mantener la calidad y consistencia de los datos.

Es aquí donde entra en juego el concepto de data lakehouse. Un data lakehouse se construye añadiendo sobre la base del data lake una capa de tecnología adicional que proporciona capacidades propias de los data warehouses tradicionales: rendimiento optimizado para consultas, garantías transaccionales y esquemas estructurados. Para implementar esta capa de mejora, es necesario seleccionar un formato de tabla que soporte estas capacidades avanzadas, siendo Apache Iceberg uno de los más adoptados en la industria.

Apache Iceberg funciona como una capa de abstracción sobre los archivos físicos almacenados en el data lake, proporcionando las funcionalidades para convertirlo en un verdadero data lakehouse. Al implementar Apache Iceberg sobre un data lake basado en S3 u otros sistemas de almacenamiento cloud, las organizaciones logran transformar su infraestructura básica de almacenamiento en una plataforma analítica completa con:

  • Soporte para actualizaciones y borrados: permite modificar registros específicos sin necesidad de reescritura total de los datasets, facilitando operaciones de mantenimiento y cumplimiento normativo.
  • Transacciones ACID: garantizan la consistencia de las operaciones incluso en entornos distribuidos, evitando lecturas parciales o estados inconsistentes durante actualizaciones.
  • Evolución del esquema: posibilidad de modificar la estructura de la tabla sin romper consultas existentes, adaptándose a cambios en los requisitos del negocio sin interrumpir operaciones analíticas.
  • Consultas optimizadas: gracias a su estructura de metadata jerárquica, que evita el escaneo completo de los datos y reduce significativamente los tiempos de respuesta y costes computacionales.

Este enfoque de capas complementarias (data lake + Apache Iceberg) proporciona todos los beneficios del data lakehouse:

  • Escalabilidad horizontal: heredada de la infraestructura base del data lake, permitiendo un crecimiento prácticamente ilimitado. Esto se debe a que el data lakehouse es una capa de almacenamiento desacoplada de los procesos necesarios para transformar los datos, lo que hace posible escalar ambos por separado.
  • Flexibilidad: permite almacenar datos en su formato nativo (JSON, CSV, Parquet, Avro, etc.) reduce significativamente el tiempo de ingesta y procesamiento inicial, permitiendo a las organizaciones comenzar a extraer valor de sus datos más rápidamente. Posteriormente dichos datos nativos pueden ser transformado dentro del data lakehouse al formato de Apache Iceberg.
  • Análisis de datos en tiempo casi real: Las arquitecturas tradicionales forzaban a elegir entre optimización para escrituras (sistemas OLTP) o lecturas (sistemas OLAP), pero no ambas. Los data lakehouses, especialmente cuando se implementan con tecnologías como Apache Iceberg y procesos CDC, rompen esta dicotomía.
  • Coste optimizado: preservando la separación entre almacenamiento y cómputo propia de arquitecturas cloud nativas, lo que permite escalar la capa de datos y procesamiento según las tareas a soportar por el sistema, lo que permite reducir la capa de cómputo al mínimo, cuando esta no se encuentra en uso. Además el uso de un data lake supone un coste de almacenamiento más reducido (Amazon S3), frente al coste equivalente de un data warehouse (Amazon Redshift)

Estructura medallion para el flujo de datos de un data lakehouse

Antes de adentrarnos en el caso práctico, es importante entender cómo se organiza el flujo de datos en una arquitectura lakehouse moderna. Un enfoque ampliamente adoptado es la arquitectura medallion, que estructura los datos en tres capas principales, que suelen ser nombradas como bronze, silver y gold (también conocidas en algunos contextos como raw, refined y curated, u otras denominaciones similares; lo importante es el enfoque progresivo en la calidad y valor de los datos).

  • La capa bronze/raw almacena los datos tal como llegan desde las fuentes, sin transformación. Funciona como zona de aterrizaje y respaldo histórico.
  • La capa silver/refined almacena los datos que han sido validados, depurados y transformados. Es en esta capa donde se aplican reglas de negocio y se lleva a cabo la normalización de los datos para facilitar su análisis y reutilización.
  • Capa gold/curated contiene datos ya enriquecidos y estructurados a nivel de negocio, listos para ser consumidos por herramientas analíticas, dashboards, modelos de machine learning u otros casos de uso estratégicos.
imagen-toqio-2

Fuente: https://www.databricks.com/glossary/medallion-architecture

Este modelo escalonado permite mejorar progresivamente la calidad del dato y habilita diferentes casos de uso analítico de forma flexible, desde exploración básica hasta análisis predictivo.

Caso práctico: CDC desde MongoDB a data lakehouse en AWS

El caso práctico que se describe a continuación representa una aplicación directa del enfoque por capas propio de la arquitectura medallion. La ingesta inicial en bruto corresponde a la capa bronze, al almacenar los datos tal como llegan desde MongoDB mediante CDC. La capa silver está representada por los datos ya procesados y limpios mediante AWS Glue, transformados y almacenados en formato Iceberg. Finalmente, la capa gold puede construirse a partir de refinamientos posteriores, aplicando agregaciones y reglas de negocio adicionales mediante lenguaje SQL en herramientas como Amazon Athena, Redshift u otros motores compatibles.

Este enfoque se ha puesto en práctica en el contexto del proyecto “Advanced Integration Technologies and Data Management for Fintech Platforms”, que desarrolla Gradiant en colaboración con la compañía Toqio. A través de esta iniciativa, se ha desarrollado una arquitectura lakehouse moderna partiendo de una base de datos operativa como MongoDB, con el objetivo de facilitar la integración y analítica de datos en tiempo casi real para la toma de decisiones estratégicas.

diagrama-toqio

Figura: Diagrama de arquitectura de la solución implementada

Paso 1. Captura de cambios con AWS DMS

AWS Database Migration Service (DMS) permite replicar datos de MongoDB hacia Amazon S3 capturando los cambios (CDC) en tiempo real. Los eventos de inserción, actualización o borrado se almacenan automáticamente en ficheros (CSV o Parquet), reflejando el historial de cambios sin necesidad de intervención manual.

Paso 2. Almacenamiento en Amazon S3

Los datos capturados se almacenan en una primera capa de datos crudos o raw zone (capa bronze). Este primer nivel del data lakehouse conserva los datos tal como llegan del sistema fuente, sirviendo como respaldo y punto de partida para su transformación posterior.

Paso 3. Orquestación del proceso incremental

Desde la capa cruda en S3, se activa un flujo de trabajo incremental utilizando diversos servicios de AWS:

  • Amazon EventBridge: se encarga de detectar eventos clave, como el inicio de la tarea de carga inicial de DMS o la llegada de nuevos archivos CDC al bucket de S3, y de activar automáticamente los flujos correspondientes en función de esos eventos.
  • Amazon SQS: proporciona una cola de mensajes para asegurar que los eventos se gestionan de forma ordenada y que ninguna ejecución se pierde o se solapa.
  • AWS Lambda: pequeñas funciones serverless que se activan a partir de eventos de EventBridge y mensajes de SQS, realizan validaciones iniciales y lanzan los trabajos de procesamiento de Glue.
  • AWS Glue: basado en Apache Spark, contiene toda la lógica de preprocesado y transformación de los datos, los convierte a formato Iceberg y los registra en un catálogo (Glue Catalog) que facilita su consulta analítica.
  • AWS Step Functions: coordina y orquesta el flujo de procesamiento completo, incluyendo validaciones, errores y tareas dependientes.

Paso 4. Capa analítica

Una vez que los datos han sido transformados y escritos en formato Iceberg, se convierten en parte de la capa silver o refined. En esta capa, los datos están ya estructurados y listos para ser consultados de forma eficiente, lo que permite a los equipos de datos ejecutar consultas SQL de forma rápida y fiable, sin tener que replicar datos en una base relacional adicional.

Las tablas pueden consultarse desde Amazon Athena, Redshift, Spark, Presto u otros motores compatibles con Iceberg, lo que permite integrarse fácilmente en dashboards, notebooks de análisis o modelos de machine learning.

A partir de aquí, es posible aplicar transformaciones adicionales, reglas de negocio y cálculos agregados, dando lugar a una capa gold o curated, orientada a proporcionar valor analítico directo y listas para el consumo por parte del negocio.

Conclusión

Un data lakehouse basado en CDC desde las fuentes operativas permite a las organizaciones construir una infraestructura analítica moderna, escalable y con capacidad de evolución. La arquitectura presentada se apoya en tecnologías open source como Apache Iceberg y Apache Spark, y en un conjunto de servicios gestionados de AWS, como DMS, S3, EventBridge, SQS, Lambda, Glue y Step Functions.

Este enfoque elimina la necesidad de ETLs masivos periódicos, mejora la frescura de los datos analíticos y reduce la complejidad operativa. Al aprovechar herramientas open source junto con servicios cloud escalables, se obtiene una solución robusta y rentable, preparada para evolucionar e incorporar nuevas fuentes de datos.

Todo ello facilita una analítica más ágil, basada en datos actualizados, que permite mejorar la toma de decisiones en las diferentes áreas del negocio.

image

Proyecto CPP2021-008971 financiado por MICIU/AEI/10.13039/501100011033 y por la Unión Europea NextGenerationEU/ PRTR