SNOWFLAKE
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 case | Auto-suspend recommandé |
|---|---|
| ETL/Batch | 60 secondes |
| BI/Dashboards | 60-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.