Construye tu Data Warehouse en GCP con Google Antigravity y Medallion (Sin Tocar SQL)
Descubre cómo la ingeniería de datos moderna delega el código repetitivo en entornos agénticos como Google Antigravity, orquestando infraestructura como código con Terraform, transformaciones gobernadas en Dataform y almacenamiento analítico en BigQuery.
Lo que aprenderás en esta guía
El Cambio de Paradigma: De Codificador SQL a Diseñador de Arquitecturas
El levantamiento tradicional de un Data Warehouse requiere escribir cientos de líneas de DDL, scripts de ingesta en Python, orquestaciones complejas y consultas SQL manuales propensas a errores tipográficos. Este enfoque artesanal consume semanas en tareas de fontanería tecnológica.
Con herramientas agénticas como Google Antigravity, el trabajo del Ingeniero y Arquitecto de Datos cambia radicalmente: tu responsabilidad deja de ser tipear consultas para convertirse en diseñar la estrategia semántica, supervisar el gobierno del dato y definir los contratos de calidad.
Matriz de Capas: Arquitectura Medallion en BigQuery
| Capa Medallion | Nivel de Transformación | Mecanismo en BigQuery | Controles de Calidad | Consumidores Finales |
|---|---|---|---|---|
| Bronze (Raw) | Datos crudos sin alterar cargados desde Data Lake (GCS). | Tablas externas (GCS CSV/Parquet) o nativas con timestamp de ingesta. | Validación de esquemas e integridad de carga origen. | Pipelines de ingesta y staging. |
| Silver (Clean) | Tipado estricto, normalización, limpieza y desduplicación. | Tablas físicas generadas vía Dataform con índices/claves. | Dataform Assertions (Non-null, Unique keys, límites). | Data Scientists, ingenieros de ML, analistas avanzados. |
| Gold (Curated) | Agregaciones de negocio, KPIs y métricas multidimensionales. | Tablas o vistas materializadas preparadas para reporting. | Conciliación financiera y pruebas de consistencia de métricas. | Looker Studio, Dashboards ejecutivos y agentes de IA. |
⚠ Antipatrón Crítico: Tablas Externas Directas en Producción
Consultar tablas externas en Cloud Storage directamente desde dashboards de visualización (como Looker Studio) genera tiempos de respuesta lentos y costes descontrolados por relectura continua de ficheros no optimizados.
Solución Arquitectónica: Utiliza las tablas externas únicamente en la capa Bronze como punto de entrada. Transfórmalas y materialízalas físicamente en capas Silver y Gold en almacenamiento columnar nativo de BigQuery para aprovechar el motor Dremel, particionado y clustering.
Implementación Técnica: Dataform SQLX y Terraform
A continuación se presenta la estructura declarativa generada para orquestar la transformación de capas Silver y Gold mediante Dataform:
1. Definición de la Capa Silver con Assertions (sales_silver.sqlx)
config {
type: "table",
schema: "silver",
name: "sales_silver",
description: "Tabla de ventas limpiada, casteada y enriquecida",
assertions: {
uniqueKey: ["transaction_id"],
nonNull: ["transaction_id", "product_id", "sale_date", "total_amount"]
}
}
SELECT
SAFE_CAST(transaction_id AS STRING) AS transaction_id,
SAFE_CAST(sale_date AS DATE) AS sale_date,
SAFE_CAST(product_id AS STRING) AS product_id,
SAFE_CAST(quantity AS INT64) AS quantity,
SAFE_CAST(unit_price AS NUMERIC) AS unit_price,
SAFE_CAST(quantity AS INT64) * SAFE_CAST(unit_price AS NUMERIC) AS total_amount,
CURRENT_TIMESTAMP() AS processed_at
FROM
${ref("sales_bronze")}
WHERE
transaction_id IS NOT NULL
2. Definición de la Capa Gold para Consumo en Looker Studio (daily_sales_gold.sqlx)
config {
type: "table",
schema: "gold",
name: "daily_sales_gold",
description: "Agregación diaria de ventas por categoría y producto para reporting"
}
SELECT
s.sale_date,
p.category,
p.product_name,
SUM(s.quantity) AS total_units_sold,
SUM(s.total_amount) AS total_revenue
FROM
${ref("sales_silver")} s
LEFT JOIN
${ref("products_silver")} p
ON
s.product_id = p.product_id
GROUP BY
s.sale_date,
p.category,
p.product_name
Framework de Implementación Paso a Paso
Sigue este ciclo de trabajo para desplegar un almacén analítico guiado por agentes:
-
Contextualización y Prompting en Google Antigravity:
Abre el workspace, describe los orígenes de datos, los modelos requeridos y solicita el plan de implementación completo con Terraform, Python y Dataform.
-
Aprovisionamiento de Infraestructura con Terraform:
Aplica los archivos
main.tfyterraform.tfvarspara desplegar los buckets de Cloud Storage (landing/raw) y los datasets de BigQuery (bronze,silver,gold). -
Ingesta y Carga en el Data Lake (Bronze):
Ejecuta los scripts de ingesta automatizados para cargar los datos fuente en GCS y enlazar las tablas externas en BigQuery.
-
Ejecución y Testing del Pipeline con Dataform:
Compila y ejecuta el flujo mediante
dataform runpara validar assertions de integridad y generar las tablas limpias y agregadas. -
Conexión y Visualización en Looker Studio:
Apunta la fuente de datos a la tabla
daily_sales_golden BigQuery y construye gráficos de tendencias de facturación y distribución por producto.
Preguntas Frecuentes (FAQ)
¿Qué ventaja tiene Dataform frente a dbt en Google Cloud Platform?
Dataform está completamente integrado de forma nativa e serverless en la consola de GCP y BigQuery Studio, permitiendo control de versiones mediante Git, orquestación de workflows y assertions sin necesidad de infraestructura de cómputo adicional.
¿Es seguro permitir que Google Antigravity u otros agentes de IA creen código Terraform?
Sí, siempre que se mantenga el principio de Human-in-the-loop. El agente genera el plan de ejecución y los archivos de configuración, pero la validación, revisión de seguridad y el comando terraform apply permanecen bajo supervisión del arquitecto de datos.
¿Cómo optimizar los costes de almacenamiento y consulta en este diseño?
En la capa Silver y Gold, aplica particionamiento por fecha (sale_date) y clustering por columnas clave (category o product_id) dentro de las directivas config de Dataform para reducir drásticamente los bytes escaneados por consulta en BigQuery.
