El Paradigma de BigQuery: La Denormalización es la Norma
En las bases de datos transaccionales (como Cloud SQL o PostgreSQL), se nos enseña a normalizar: dividir los datos en múltiples tablas para reducir la redundancia (ej. una tabla para clientes, otra para pedidos, otra para productos). Esto es eficiente para las operaciones de escritura.
BigQuery, como Data Warehouse analítico (OLAP), está optimizado para lecturas y agregaciones masivas. Las operaciones de `JOIN` entre tablas grandes son computacionalmente caras. Por lo tanto, en BigQuery, la estrategia principal es la denormalización: agrupar los datos en tablas anchas y únicas para evitar o minimizar los `JOIN`s en el momento de la consulta.
El Secreto: Campos Anidados y Repetidos (Nested and Repeated Fields)
La denormalización en BigQuery no significa simplemente crear tablas con cientos de columnas. Su característica más potente para modelar datos es el soporte nativo para campos anidados y repetidos, lo que nos permite mantener una estructura lógica sin sacrificar el rendimiento.
- Campos Anidados (STRUCT/RECORD): Permiten agrupar un conjunto de campos relacionados como si fueran una única columna. Por ejemplo, en una tabla de `usuarios`, en lugar de tener `direccion_calle`, `direccion_ciudad`, `direccion_pais`, puedes tener un único campo `direccion` de tipo `STRUCT` que contenga `calle`, `ciudad` y `pais`. Esto representa una relación "uno a uno".
- Campos Repetidos (ARRAY): Permiten almacenar una lista de valores en una sola fila. La combinación más potente es un `ARRAY` de `STRUCT`s. Por ejemplo, en una tabla de `pedidos`, en lugar de tener una tabla separada para los productos de cada pedido, puedes tener una columna llamada `lineas_de_pedido` que sea un `ARRAY` de `STRUCT`s, donde cada `STRUCT` contenga `producto_id`, `cantidad` y `precio`. Esto representa una relación "uno a muchos".
Usar este enfoque mantiene la relación lógica de los datos y, lo que es más importante, los almacena físicamente juntos, haciendo que las consultas que analizan los pedidos y sus productos sean increíblemente rápidas.