Contexto: La arquitectura medallion organiza datos en capas progresivas de refinamiento (Bronze, Silver, Gold), separando almacenamiento económico en GCS del cómputo especializado en BigQuery o Spark. Esta estructura permite servir diferentes casos de uso simultáneamente: desde exploración de datos crudos hasta inteligencia de negocio pulida.

PREGUNTA

Tu equipo implementa un data lakehouse en Google Cloud Platform para soportar múltiples consumidores: ingenieros de datos que necesitan reprocesar datos históricos, científicos de datos construyendo modelos de machine learning, y ejecutivos consultando dashboards en Looker.

El pipeline ingesta eventos de aplicaciones móviles en formato JSON con campos anidados, algunos registros duplicados y timestamps inconsistentes.

Después de validación y limpieza, los datos alimentan agregaciones diarias para reportes de producto.

El equipo debate dónde almacenar cada versión de los datos y qué herramientas usar para transformación.

¿Cuál arquitectura cumple mejor con estos requisitos manteniendo costo-eficiencia y flexibilidad operacional?

 

  • A) Almacenar todo en BigQuery usando tablas nativas; ejecutar limpieza con SQL scheduled queries; crear vistas materializadas para agregaciones; todos los usuarios consultan las mismas tablas
  • B) Ingestar JSON crudo a GCS (Bronze); usar Spark en Dataproc para limpiar y validar hacia GCS (Silver) en Parquet; cargar agregaciones a BigQuery (Gold); científicos acceden Silver, ejecutivos Gold
  • C) Cargar JSON directamente a MongoDB para queries operacionales; replicar a BigQuery usando CDC; ejecutar todas las transformaciones en dbt; mantener una sola copia final
  • D) Procesar todo en Dataflow streaming antes de almacenar; escribir únicamente la versión final limpia y agregada a BigQuery; eliminar datos crudos para ahorrar costos

 

RESPUESTA: B

EXPLICACIÓN

La opción B implementa correctamente la arquitectura medallion con separación de storage y compute. Bronze (GCS con JSON crudo) preserva el estado original para reprocessamiento futuro, cumpliendo requisitos de auditoría y debugging.

Silver (Parquet limpio en GCS) proporciona datos validados y sin duplicados para científicos de datos que necesitan granularidad completa para modelos ML.

Gold (agregaciones en BigQuery) optimiza consultas analíticas para dashboards ejecutivos con latencia sub-segundo.

Spark maneja transformaciones complejas (JSON anidado, deduplicación) que superan capacidades SQL, mientras BigQuery ejecuta agregaciones aprovechando su motor columnar.

Las opciones A, C y D fallan porque:

  • A mezcla datos crudos y limpios sin separación clara, incrementando confusión y costos de almacenamiento en BigQuery para datos no consultados frecuentemente.
  • C introduce dependencia innecesaria de MongoDB sin justificación operacional y pierde capacidad de replay desde datos originales.
  • D elimina la capa Bronze, imposibilitando correcciones retroactivas cuando se descubren errores de lógica de negocio.

EJEMPLO REAL

Una plataforma de e-commerce implementó esta arquitectura: Bronze almacena 500TB de eventos JSON en GCS ($10K/mes), Silver contiene 150TB de Parquet limpio accesible por 20 científicos de datos en Vertex AI, y Gold mantiene 5TB de agregaciones en BigQuery sirviendo 1000+ usuarios concurrentes en Looker.

El costo de queries en Gold es 60% menor que consultar Bronze directamente debido a pre-agregación. Cuando detectaron un error en cálculo de conversión, reprocesaron Bronze completo en 6 horas sin impactar producción.

CONSEJO CLAVE

Implementa separación física desde el inicio: usa buckets o prefijos distintos en GCS para Bronze/Silver/Gold.

Esto simplifica control de acceso (data engineers a Bronze, data scientists a Silver, analistas a Gold) y políticas de retención diferenciadas (Ejemplo: Bronze 7 años para compliance, Gold 90 días por volumen reducido).

Monitorea que Gold consuma menos storage que Silver—si no ocurre, tus agregaciones son insuficientes.

REFERENCIAS