Hace unas semanas, una empresa llamada Snowflake protagonizó la mayor salida a bolsa de una compañía de software en la historia. Todos en el sector del dato llevamos tiempo usándolo o escuchando hablar de él, pero ahora ha captado la atención de los directivos financieros.

BigQuery te cobra por Terabyte consultado. Si alguien lanza un SELECT * mal filtrado sobre una tabla de logs históricos el costo puede ser de varios miles de dólares en cinco segundos. Esto obliga a evaluar Snowflake.

La revolución de separar almacenamiento y cómputo

Tanto BigQuery como Snowflake son bases de datos masivamente paralelas (MPP), pero su filosofía es distinta. BigQuery es magia "serverless": tú lanzas la consulta y Google decide cuántos miles de CPUs usa. No tienes control.

El genio técnico de Snowflake es haber separado absoluta y físicamente el almacenamiento del procesamiento (cómputo). Los datos residen inertes y baratos en Amazon S3 o Google Cloud Storage. Por encima, puedes crear "Almacenes Virtuales" (Virtual Warehouses), que no son más que clústeres temporales de cómputo.

Esto resuelve el problema clásico de la concurrencia. Puedo tener un clúster "X-Large" levantado solo para el pesado proceso ETL nocturno, y un clúster "Small" para los informes de los analistas de negocio, ambos atacando los mismos datos sin bloquearse entre sí.

-- En Snowflake, el cómputo es un recurso que se enciende y se apaga
CREATE WAREHOUSE Marketing_WH 
WITH 
  WAREHOUSE_SIZE = 'SMALL' 
  AUTO_SUSPEND = 300 -- Se apaga solo tras 5 min de inactividad
  AUTO_RESUME = TRUE;

-- Usamos este "motor" específico para nuestra consulta
USE WAREHOUSE Marketing_WH;
SELECT * FROM Ventas_Historicas WHERE region = 'EMEA';

Reflexión: FinOps y el control del gasto

Técnicamente, el enrutamiento dinámico de red de BigQuery me parece más avanzado e impresionante que la arquitectura de clústeres de Snowflake. Sin embargo, Snowflake ha ganado la batalla corporativa porque soluciona un problema humano: el miedo a la factura.

Saber que un "Warehouse" de tamaño Small te cuesta exactamente 2 créditos por hora, y que se apaga automáticamente a los 5 minutos de no usarse, da paz mental. Los ingenieros de datos nos estamos convirtiendo lentamente en ingenieros financieros (FinOps). Ya no basta con que la consulta SQL sea rápida; ahora tenemos que justificar si el valor de negocio de esa respuesta compensa los céntimos de euros de CPU que ha costado ejecutarla.