Optimisation des Warehouses

Configurer auto-suspend, right-sizing et multi-cluster pour optimiser les coûts compute.

Auto-suspend : le levier #1

Erreur fréquente

Garder le défaut de 5 minutes = jeter de l'argent. Un warehouse Medium qui reste allumé 5 min inutilement 20 fois par jour = $8/jour gaspillés, soit $240/mois.

Le défaut (5 min) = gaspillage. Réduisez-le !

-- Créer un warehouse optimisé
CREATE WAREHOUSE analytics_wh
  WAREHOUSE_SIZE = 'MEDIUM'
  AUTO_SUSPEND = 60        -- 60 secondes (recommandé)
  AUTO_RESUME = TRUE
  INITIALLY_SUSPENDED = TRUE;

-- Modifier un warehouse existant
ALTER WAREHOUSE etl_wh SET AUTO_SUSPEND = 60;
Use caseAuto-suspend recommandé
ETL/Batch60 secondes
BI/Dashboards60-120 secondes
Interactif (analystes)120-300 secondes

À retenir

60 secondes d'auto-suspend convient à 90% des cas. Le cold start de Snowflake est rapide (quelques secondes), donc pas de pénalité utilisateur.

Right-sizing

Analysez la queue load pour déterminer la bonne taille :

-- Analyser l'utilisation d'un warehouse
SELECT
  warehouse_name,
  AVG(avg_running) as avg_queries_running,
  AVG(avg_queued_load) as avg_queue_load,
  AVG(avg_blocked) as avg_blocked
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_LOAD_HISTORY
WHERE start_time > DATEADD(day, -7, CURRENT_TIMESTAMP())
GROUP BY warehouse_name
ORDER BY avg_queue_load DESC;
  • Queue load > 1 : Scale up (taille supérieure)
  • Queue load < 0.1 : Scale down (taille inférieure)
  • Queue load 0.1-1 : Taille correcte

Décision concrète

Queue load > 1 pendant plusieurs heures ? Augmentez la taille. Queue load toujours < 0.1 ? Descendez d'une taille et économisez 50%.

Multi-cluster warehouses

Pour les pics de charge avec beaucoup d'utilisateurs concurrents :

CREATE WAREHOUSE reporting_wh
  WAREHOUSE_SIZE = 'SMALL'
  MIN_CLUSTER_COUNT = 1
  MAX_CLUSTER_COUNT = 4
  SCALING_POLICY = 'STANDARD'  -- ou 'ECONOMY'
  AUTO_SUSPEND = 60;

À retenir

ECONOMY scale plus lentement mais coûte moins. STANDARD réagit vite mais peut créer des clusters inutiles. Utilisez ECONOMY sauf si la latence est critique.
Jonathan Kini

Jonathan Kini

J'aide les équipes data à réduire et maîtriser leurs coûts BigQuery et Snowflake, sans sacrifier la performance. 8 ans de terrain, de la startup aux environnements data à grande échelle.