Coûts Snowpipe¶
Avec le modèle de calcul sans serveur de Snowpipe, les utilisateurs peuvent lancer une charge de n’importe quelle taille sans avoir à gérer d’entrepôt virtuel. Au lieu de cela, Snowflake fournit et gère les ressources de calcul, augmentant ou diminuant automatiquement la capacité en fonction de la charge actuelle de Snowpipe. Les comptes sont facturés en fonction de l’utilisation réelle des ressources de calcul, contrairement aux entrepôts virtuels gérés par le client, qui consomment des crédits lorsqu’ils sont actifs et peuvent rester inactifs ou être surutilisés.
Dans ce chapitre :
Consommation de ressources et frais généraux de gestion¶
Snowflake assure le suivi de la consommation des ressources des chargements pour tous les canaux d’un compte, avec une précision par seconde et par noyau. En effet, Snowpipe met activement en file d’attente et traite les fichiers de données. Par noyau fait référence aux noyaux physiques de CPU dans un serveur de calcul. L’utilisation enregistrée est ensuite traduite en crédits Snowflake familiers, qui sont indiqués sur la facture de votre compte.
Note
L’utilisation d’une application cliente multithread permet de soumettre des fichiers de données en parallèle, ce qui déclenche des serveurs supplémentaires et charge les données en moins de temps. Cependant, le temps de calcul global réel requis serait identique à celui d’une application cliente à thread unique, simplement répartie sur plus de serveurs Snowpipe internes.
Les décisions relatives à la taille des fichiers de données et à la fréquence de la mise en zone de préparation ont une incidence sur le coût et les performances de Snowpipe. Pour connaître les bonnes pratiques recommandées, voir Chargements de données en continu (c.-à-d., Snowpipe) et dimensionnement de fichiers.
En plus de consommer des ressources, les frais généraux sont inclus dans les coûts d’utilisation facturés pour Snowpipe. Cette surcharge est facturée, que les notifications d’événements ou les appels API REST entraînent le chargement ou non de données. Ces frais généraux apparaissent comme des frais de Snowpipe sur votre relevé de facturation.
Pour savoir combien de crédits par heure de calcul sont consommés par Snowpipe, reportez-vous au « Tableau des crédits de fonctionnalité sans serveur » dans le tableau de consommation des services Snowflake.
Estimation des frais Snowpipe¶
Compte tenu du nombre de facteurs permettant de différencier les charges Snowpipe, il est très difficile pour Snowflake de fournir des exemples de coûts. Les formats et les tailles de fichier, ainsi que la complexité des instructions COPY (y compris l’instruction SELECT utilisée pour les transformations), ont tous une incidence sur les frais généraux liés à la consommation de ressources et aux fichiers facturés pour un chargement Snowpipe.
Nous vous suggérons de faire des tests en effectuant un ensemble typique de chargements pour estimer les frais futurs.
Affichage de l’historique et du coût de chargement des données¶
Les administrateurs de compte (ou les utilisateurs ayant le rôle ACCOUNTADMIN) ou ceux ayant un rôle qui leur donne le privilège global MONITOR USAGE peuvent utiliser Snowsight, l”Classic Console, ou SQL pour voir la quantité de crédits facturés sur votre compte Snowflake sur une période donnée.
Pour voir les crédits facturés pour le chargement de données Snowpipe pour votre compte :
- Snowsight:
Select Admin » Cost Management
- Classic Console:
Cliquez sur Account » Billing & Usage.
L’utilisation de Snowpipe est illustrée sous forme d’un entrepôt spécial fourni par Snowflake nommé SNOWPIPE.
- SQL:
Interrogez l’un des éléments suivants :
la fonction de table PIPE_USAGE_HISTORY (dans Schéma d’information de Snowflake).
Vue PIPE_USAGE_HISTORY (dans Account Usage).
Les requêtes suivantes peuvent être exécutées sur la vue PIPE_USAGE_HISTORY :
Requête : historique des coûts de Snowpipe (par jour, par objet)
Cette requête fournit une liste complète des canaux et le volume de crédits consommés via le service au cours des 30 derniers jours, ventilés par jour. Toute irrégularité dans la consommation de crédit ou une consommation constamment élevée sont des signaux d’alerte qui entraînent la nécessité d’une investigation plus profonde.
SELECT TO_DATE(start_time) AS date, pipe_name, SUM(credits_used) AS credits_used FROM snowflake.account_usage.pipe_usage_history WHERE start_time >= DATEADD(month,-1,CURRENT_TIMESTAMP()) GROUP BY 1,2 ORDER BY 3 DESC;Requête : historique Snowpipe et moyenne sur plusieurs jours
Cette requête montre les crédits quotidiens moyens consommés par Snowpipe, groupés par semaine, au cours de l’année dernière. Elle peut aider à identifier les anomalies dans les moyennes quotidiennes sur l’année, ce qui vous permet d’enquêter sur les pics ou les changements inattendus dans la consommation.
WITH credits_by_day AS ( SELECT TO_DATE(start_time) AS date, SUM(credits_used) AS credits_used FROM snowflake.account_usage.pipe_usage_history WHERE start_time >= DATEADD(year,-1,CURRENT_TIMESTAMP()) GROUP BY 1 ORDER BY 2 DESC ) SELECT DATE_TRUNC('week',date), AVG(credits_used) AS avg_daily_credits FROM credits_by_day GROUP BY 1 ORDER BY 1;
Note
Les moniteurs de ressources permettent de contrôler l’utilisation du crédit d’entrepôt virtuel. Cependant, vous ne pouvez pas les utiliser pour contrôler l’utilisation du crédit pour les entrepôts fournis par Snowflake, y compris l’entrepôt SNOWPIPE .