Saltar al contenido
Todos los casos de estudio

CS-01 — Plataformas de datos · Arquitectura cloud · Automatización e IA

Modernización multi-tenant de PostgreSQL a Snowflake

Integración de los datos operativos PostgreSQL de cada tenant de una plataforma de precios en Snowflake, manteniendo el aislamiento entre tenants y automatizando el alta de nuevos clientes.

Mi papel
Senior Data Engineer (Wizeline). Ander decidió la arquitectura que se iba a implementar y diseñó la infraestructura junto con el equipo de OPS.
Periodo
No documentado
Divulgación
Detalles anonimizados
Tecnologías
SnowflakePostgreSQLC#.NETAWS FargatePythonSQLAWS LambdaAmazon S3AWS Step FunctionsApache AirflowAmazon EventBridge
Última revisión
13 de noviembre de 2026

Contexto

PricePro es una plataforma empresarial multi-tenant de precios para el retail de combustible (precios, competencia, estrategias, márgenes, volúmenes). Cada tenant tiene sus datos operativos en un entorno PostgreSQL lógicamente aislado. La analítica necesitaba integrar esos datos en Snowflake sin romper el aislamiento entre tenants y de forma escalable.

Retos

  1. 01Mantener el aislamiento lógico de cada tenant también en la capa analítica.
  2. 02Dar de alta nuevos tenants sin intervención manual extensa (bases de datos, esquemas, permisos, integración).
  3. 03Gestionar la evolución de esquemas entre el origen operativo y Snowflake.
  4. 04Migrar datos históricos y validar la consistencia entre origen y destino.

Solución y arquitectura

Archivado de datos desde PostgreSQL mediante procesos en C# ejecutados en AWS Fargate que generan ficheros JSON, ingeridos después en Snowflake a través de stages con carga orquestada. Pipelines de ingesta y transformación desde PostgreSQL hacia estructuras de Snowflake por tenant, orquestados con servicios AWS (Lambda, S3, Step Functions, eventos) y Airflow, junto con automatización del aprovisionamiento: inicialización del tenant, creación de estructuras de datos, configuración de base de datos y esquema, permisos necesarios y sincronización continua.

OPERATIONALARCHIVINGSNOWFLAKECONSUMERSTenant A (PostgreSQL)Tenant B (PostgreSQL)New tenantFargate jobs (C#)JSON filesTenant provisioningOrchestrated stageTenant schemasReportsServices / ML
Multi-tenant PostgreSQL → Snowflake (simplified)

Decisiones clave

D-01

Exportación a JSON con tareas en Fargate e ingesta por stages de Snowflake

Desacopla la extracción desde PostgreSQL de la carga en Snowflake; Snowflake ingiere los ficheros desde su stage de forma orquestada.

D-02

Estructuras de datos por tenant en Snowflake

Conservar en la capa analítica el mismo aislamiento lógico que existe en el origen operativo.

D-03

Aprovisionamiento automatizado de tenants

El alta de clientes es recurrente; automatizarla evita pasos manuales propensos a errores.

Compromisos

Aún no documentado

Resultados

Los nuevos tenants se integran en la plataforma analítica mediante automatización en lugar de configuración manual extensa.

Aprendizajes

Aún no documentado

Ander decidió la arquitectura de esta modernización y diseñó la infraestructura con el equipo de OPS. Además, desarrolló en C# el archivado de datos desde PostgreSQL con AWS Fargate. También ha trabajado en: comprender los esquemas PostgreSQL existentes, diseñar mecanismos de ingesta, desarrollar pipelines y transformaciones, dar soporte a estructuras de base de datos conscientes del tenant, gestionar la evolución de esquemas, validar la consistencia, optimizar la ingesta, apoyar la migración histórica y automatizar el alta de tenants.

Los detalles internos (identificadores de tenants, nombres de recursos, cuentas) no se publican.

Pregunta sobre este caso de estudio

Pregunta sobre este caso de estudioIA · responde desde una base de conocimiento aprobada · no es Ander en tiempo real

Las preguntas de aquí se responden con el caso de estudio «Modernización multi-tenant de PostgreSQL a Snowflake» como contexto.

Intro para enviar · Mayús + Intro para nueva línea0/1200