Utiliser la connaissance des coûts pour économiser¶
Snowflake fournit des informations sur les coûts qui permettent d’identifier les possibilités d’optimiser les coûts de Snowflake au sein d’un compte particulier. Ces insights sont calculés et actualisés chaque semaine.
Chaque aperçu indique le nombre de crédits ou de téraoctets qui pourraient être économisés grâce à l’optimisation de Snowflake.
Note
Vous devez avoir le rôle ACCOUNTADMIN pour voir les informations sur les coûts.
Pour accéder à la vignette Cost Insights :
Connectez-vous à Snowsight.
Passez au rôle ACCOUNTADMIN.
Dans le menu de navigation, sélectionnez Admin » Cost Management.
Sélectionnez l’onglet Account Overview.
Trouvez la vignette Cost insights.
Chacun des insights suivants comprend des suggestions sur la manière d’optimiser vos dépenses.
Insight : tables rarement utilisées avec clustering automatique
Insight : chemins d’optimisation de la recherche rarement utilisés
Insight : tables volumineuses qui ne font jamais l’objet d’une requête
Aperçu : Tables de plus de 100 GB dont les données sont écrites mais non lues
- Insight : tables rarement utilisées avec clustering automatique
Cet insight identifie les tables avec clustering automatique qui sont interrogées moins de 100 fois par semaine par ce compte.
L’activation du clustering automatique pour une table peut améliorer de manière significative les performances des requêtes portant sur cette table. Cependant, à mesure que la table évolue, Snowflake doit utiliser des ressources de calcul sans serveur pour la maintenir dans un état bien clusterisé. Si le nombre de requêtes exécutées sur la table est minime, le coût encouru pourrait ne pas justifier l’amélioration des performances.
Recommandation : envisagez de désactiver le clustering automatique sur ces tables. Avant de désactiver le clustering automatique, déterminez si la table existe uniquement à des fins de reprise après sinistre ou si elle est utilisée par d’autres comptes Snowflake dans le cadre du partage de données, ce qui pourrait expliquer pourquoi elle n’est pas consultée fréquemment.
Par exemple, pour désactiver le clustering automatique pour une table nommée
t1
, exécutez la commande suivante :ALTER TABLE t1 SUSPEND RECLUSTER;
- Insight : vues matérialisées rarement utilisées
Cet insight identifie des vues matérialisées qui sont interrogées moins de 10 fois par semaine par ce compte.
La création d’une vue matérialisée peut améliorer considérablement les performances pour certains modèles de requête. Cependant, les vues matérialisées entraînent des coûts de stockage supplémentaires ainsi que des coûts de calcul sans serveur associés à la mise à jour de la vue matérialisée avec les nouvelles données. Si le nombre de requêtes exécutées contre la vue matérialisée est minime, le coût encouru pourrait ne pas justifier l’amélioration des performances.
Recommandation : envisagez de supprimer ou de suspendre les mises à jour des vues matérialisées. Avant de supprimer une vue matérialisée, déterminez si la table existe uniquement à des fins de reprise après sinistre ou si elle est utilisée par d’autres comptes Snowflake dans le cadre du partage de données, ce qui pourrait expliquer pourquoi on n’y accède pas fréquemment.
Par exemple, pour supprimer une vue matérialisée nommée
mv1
, exécutez la commande suivante :DROP MATERIALIZED VIEW mv1;
- Insight : chemins d’optimisation de la recherche rarement utilisés
Cet insight identifie des chemins d’accès d”optimisation de la recherche qui sont utilisés moins de 10 fois par semaine par ce compte.
L’optimisation de la recherche utilise les chemins d’accès à la recherche pour améliorer la performance de certains types de requêtes analytiques et de recherche de points. L’ajout d’une optimisation de la recherche à une table peut améliorer considérablement les performances pour ces requêtes. Cependant, l’optimisation de la recherche entraîne des coûts de stockage supplémentaires ainsi que des coûts de calcul sans serveur associés à la mise à jour de ce stockage. Si le nombre de requêtes qui utilisent le chemin d’accès créé par l’optimisation de la recherche est minime, le coût encouru pourrait ne pas justifier les améliorations de performance.
Recommandation : envisagez de supprimer l’optimisation de la recherche de la table. Avant de supprimer l’optimisation de la recherche, déterminez si la table existe uniquement à des fins de reprise après sinistre ou si elle est utilisée par d’autres comptes Snowflake dans le cadre d’un partage de données, ce qui pourrait expliquer pourquoi elle n’est pas consultée fréquemment.
Par exemple, pour supprimer complètement l’optimisation de la recherche d’une table nommée
t1
, exécutez la commande suivante :ALTER TABLE t1 DROP SEARCH OPTIMIZATION;
- Insight : tables volumineuses qui ne font jamais l’objet d’une requête
Cet insight identifie les grandes tables qui n’ont pas fait l’objet d’une requête au cours de la dernière semaine par ce compte.
Recommandation : envisagez de supprimer les tables inutilisées, ce qui peut réduire les coûts de stockage sans avoir d’impact sur les charges de travail. Avant de supprimer les tables, déterminez si la table existe uniquement à des fins de reprise après sinistre ou si elle est utilisée par d’autres comptes Snowflake dans le cadre du partage de données, ce qui pourrait expliquer pourquoi elle n’est pas consultée fréquemment.
Par exemple, pour supprimer un nom de table
t1
, exécutez la commande suivante :DROP TABLE t1;
- Aperçu : Tables de plus de 100 GB dont les données sont écrites mais non lues
Cet insight permet d’identifier les tables dans lesquelles des données sont écrites mais jamais lues par ce compte.
Recommandation : Il pourrait être inutile de stocker des données et d’ingérer de nouvelles données dans Snowflake si les données ne sont jamais lues. Envisagez de supprimer ces tables pour économiser des coûts de stockage ou d’arrêter d’écrire de nouvelles données pour économiser les crédits consommés par l’ingestion. Avant de supprimer les tables, déterminez si la table existe uniquement à des fins de reprise après sinistre ou si elle est utilisée par d’autres comptes Snowflake dans le cadre du partage de données, ce qui pourrait expliquer pourquoi elle n’est pas lue.
Par exemple, pour supprimer une table nommée
t1
, exécutez la commande suivante :DROP TABLE t1;
- Insight : tables permanentes à courte durée de vie
Cet aperçu permet d’identifier les tables de plus de 100 GB qui ont été supprimées dans les 24 heures suivant leur création.
Recommandation : si les données ne doivent être conservées que pendant une courte période, envisagez d’utiliser une table temporaire ou une table transitoire pour les tables futures. L’utilisation d’une table temporaire ou d’une table temporaire peut vous aider à économiser sur les coûts de Fail-safe et Time Travel.
Par exemple, pour créer une nouvelle table temporaire
t1
, exécutez la commande suivante :CREATE TRANSIENT TABLE t1;
- Utilisation inefficace des entrepôts à clusters multiples
Cet aperçu identifie les cas où les nombres minimum et maximum de clusters sont définis sur la même valeur pour un entrepôt à clusters multiples, ce qui empêche l’entrepôt de s’agrandir ou de se réduire pour répondre à la demande. Si votre entrepôt à clusters multiples peut être réduit pendant les périodes de moindre utilisation, il peut permettre d’économiser des crédits.
Recommandation : Envisagez d’abaisser le nombre minimum de clusters pour permettre à l’entrepôt à clusters multiples de se réduire pendant les périodes de moindre utilisation.
Par exemple, pour définir le nombre minimum de clusters à 1 pour un entrepôt nommé
wh1
, exécutez la commande suivante :ALTER WAREHOUSE wh1 SET MIN_CLUSTER_COUNT = 1;