Warehouses Snowflake inactifs : comment les trouver et ce qu’ils vous coûtent
Snowflake facture un warehouse allumé, qu’il travaille ou non. Voici comment trouver les warehouses qui tournent à vide, chiffrer ce que cela coûte et corriger sans risque.
Par L’équipe RootSpend. Mis à jour le
Snowflake facture chaque seconde pendant laquelle un warehouse tourne, qu’il travaille ou non. Un warehouse qui se réveille pour une requête de 20 secondes puis reste allumé dix minutes de plus vous facture aussi ces dix minutes.
Pourquoi cela s’accumule
Prenez un warehouse derrière un outil de BI. Les tableaux de bord se rafraîchissent toutes les quelques minutes en journée, et chaque requête prend quelques secondes. Avec un auto suspend réglé sur dix minutes, ce warehouse ne dort pratiquement jamais entre 9 h et 18 h.
Multipliez cela par quelques warehouses et quelques mois, et l’inactivité peut représenter une vraie part de la facture.
Comment les trouver
Il vous faut deux chiffres par warehouse : combien de temps il a été facturé, et combien de temps il a réellement exécuté des requêtes.
Le temps facturé se trouve dans SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY. Cette vue donne les crédits consommés par warehouse et par heure.
Le temps actif se trouve dans SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY. Additionnez la durée d’exécution par warehouse et par heure.
Mettez-les côte à côte. Un warehouse facturé toutes les heures de la journée de travail mais actif seulement quelques minutes par heure est votre candidat.
Vérifiez ensuite qui l’utilise. Un warehouse partagé entre un outil de BI et un job ELT nocturne peut nécessiter des réglages différents, voire devenir deux warehouses.
La correction
Pour la plupart des warehouses batch et ELT, une seule ligne suffit.
ALTER WAREHOUSE BI_WH SET AUTO_SUSPEND = 60;
Surveillez ensuite le coût de ce warehouse la semaine suivante dans WAREHOUSE_METERING_HISTORY. Si les crédits baissent et que personne ne se plaint, c’est réglé.
La place de RootSpend
RootSpend fait cette comparaison pour vous, chaque jour. Il répartit votre facture Snowflake par warehouse et par utilisateur, et calcule la part d’inactivité de chaque warehouse. Quand un warehouse reste inactif une grande partie de la journée, vous recevez une recommandation avec les preuves et une économie estimée. Il ne modifie jamais le réglage lui-même. Vous gardez la main.
Trouvez vos warehouses inactifs
Rejoignez la liste d’attente : nous vous préviendrons dès que vous pourrez connecter Snowflake.
Questions fréquentes
Cela dépend de la charge. Les warehouses derrière des tableaux de bord gagnent souvent à rester allumés quelques minutes pour garder leur cache au chaud. Les warehouses batch et ELT peuvent en général se suspendre après 60 secondes. Regardez les écarts entre les requêtes avant de modifier quoi que ce soit.
Parfois, un peu. Un warehouse suspendu doit redémarrer, et il perd son cache local. Pour le batch, on ne le remarque généralement pas. Pour des tableaux de bord consultés toute la journée, testez d’abord.
Oui. RootSpend répartit le calcul de chaque jour par warehouse à partir de WAREHOUSE_METERING_HISTORY et calcule la part d’inactivité. Quand un warehouse passe une grande partie de son temps inactif, il apparaît en recommandation avec une économie mensuelle estimée.