Comprendre l’entrepôt virtuel, le stockage et les services Cloud de Snowflake¶
Snowflake apporte une flexibilité et une évolutivité sans précédent à l’entreposage de données. Le but de la tarification de Snowflake est d’offrir ces capacités à un faible coût et de la façon la plus simple possible.
L’architecture Cloud de Snowflake sépare l’entreposage de données en trois fonctions distinctes : ressources de calcul (implémentées comme entrepôts virtuels), stockage de données et services Cloud. Les coûts associés à l’utilisation de Snowflake sont basés sur votre utilisation de chacune de ces fonctions.
Dans ce chapitre :
Utilisation du crédit d’entrepôt virtuel¶
Un entrepôt virtuel est un ou plusieurs clusters de calcul qui permettent aux clients d’exécuter des requêtes, de charger des données et d’effectuer d’autres opérations DML. Les crédits Snowflake sont utilisés pour payer le temps de traitement utilisé par chaque entrepôt virtuel.
Les crédits Snowflake sont facturés en fonction du nombre d’entrepôts virtuels que vous utilisez, de leur durée de fonctionnement et de leur taille.
Les entrepôts existent en huit tailles. La taille spécifie le nombre de serveurs par cluster dans l’entrepôt. Il existe une correspondance une à une entre le nombre de serveurs dans un cluster d’entrepôt et le nombre de crédits facturés pour chaque heure pleine que l’entrepôt exécute :
X-Small |
Small |
Medium |
Large |
X-Large |
2X-Large |
3X-Large |
4X-Large |
---|---|---|---|---|---|---|---|
1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |
Important
Les entrepôts ne sont facturés que pour l’utilisation de crédits que lorsqu’ils fonctionnent. Lorsqu’un entrepôt est suspendu, il n’accumule aucune utilisation de crédit.
Les nombres de crédits indiqués ici correspondent à une heure complète d’utilisation ; cependant, les crédits sont facturés à la seconde, avec un minimum de 60 secondes (c.-à-d. 1 minute) :
Chaque fois qu’un entrepôt est démarré ou redimensionné à une taille plus grande, l’entrepôt est facturé pour 1 minute d’utilisation sur la base du taux horaire indiqué ci-dessus.
Au bout d’une minute, toutes les factures ultérieures sont facturées à la seconde.
L’arrêt et le redémarrage d’un entrepôt dans la première minute ne modifient pas le montant facturé ; la facturation minimale est de 1 minute.
Lorsqu’un entrepôt grossit, les crédits ne sont facturés que pour les serveurs additionnels qui sont mis en service. Par exemple, le passage d’un entrepôt Small (2) à Medium (4) entraîne des frais de facturation d’une minute égale à deux crédits.
Pour plus de détails, voir Aperçu des entrepôts et Remarques sur les entrepôts virtuels.
Visualiser l’utilisation du crédit d’entrepôt pour votre compte¶
Les utilisateurs ayant le rôle ACCOUNTADMIN peuvent utiliser l’interface Web de Snowflake ou SQL pour voir l’utilisation mensuelle et quotidienne du crédit relatif à tous les entrepôts de votre compte.
Pour visualiser l’utilisation du crédit d’entrepôt pour votre compte :
- Interface Web
- SQL
Interrogez l’un des éléments suivants :
la fonction de table WAREHOUSE_METERING_HISTORY (dans Schéma d’information).
la fonction de table Vue WAREHOUSE_METERING_HISTORY (dans Account Usage).
Utilisation du crédit des services Cloud¶
La couche de services Cloud constitue un ensemble de services qui coordonnent les activités dans Snowflake. Ces services relient tous les différents composants de Snowflake afin de traiter les demandes des utilisateurs, de la connexion à l’envoi des requêtes. La couche de services Cloud s’exécute également sur des instances de calcul fournies par Snowflake à partir du fournisseur Cloud.
Services compris dans cette couche :
Authentification
Gestion de l’infrastructure
Gestion des métadonnées
Analyse syntaxique et optimisation des requêtes
Contrôle d’accès
Comme pour l’utilisation de l’entrepôt virtuel, les crédits Snowflake sont utilisés pour payer l’utilisation des services Cloud qui dépasse 10 % de l’utilisation quotidienne des ressources de calcul.
L’utilisation des services Cloud n’est facturée que si la consommation quotidienne de services Cloud dépasse 10 % de l’utilisation quotidienne des ressources de calcul. La redevance est calculée quotidiennement (dans le fuseau horaire UTC). Cela garantit que l’ajustement de 10 % est appliqué avec précision chaque jour, au prix du crédit pour cette journée.
Comprendre la facturation pour l’utilisation des services Cloud¶
L’ajustement de 10 % pour les services Cloud est calculé quotidiennement (dans le fuseau horaire UTC) en multipliant le calcul quotidien par 10 %.
L’ajustement sur l’instruction d’utilisation mensuelle est égal à la somme de ces calculs quotidiens.
Si la consommation de services Cloud est inférieure à 10 % des crédits de calcul un jour donné, l’ajustement pour ce jour est égal aux services Cloud utilisés par le client. L’ajustement quotidien ne dépassera jamais l’utilisation réelle des services Cloud pour cette journée. Ainsi, l’ajustement mensuel total peut être nettement inférieur à 10 %.
Par exemple :
Date |
Crédits de calcul |
Crédits Cloud Services |
Ajustement des crédits pour les services Cloud inclus (minimum de services Cloud ou 10 % de calcul) |
Crédits facturés (somme du calcul, des services Cloud et de l’ajustement) |
---|---|---|---|---|
Nov 1 |
100 |
20 |
-10 |
110 |
Nov 2 |
120 |
10 |
-10 |
120 |
Nov 3 |
80 |
5 |
-5 |
80 |
Nov 4 |
100 |
13 |
-10 |
103 |
Total |
400 |
48 |
-35 |
413 |
Affichage de l’utilisation des crédits des services Cloud¶
Les utilisateurs ayant un rôle ACCOUNTADMIN peuvent utiliser l’interface Web Snowflake ou SQL pour afficher l’utilisation du crédit des services cloud quotidiennement et mensuellement par entrepôt et par tâche.
Pour afficher l’utilisation du crédit des services Cloud pour votre compte :
- Interface Web
- SQL
ACCOUNT_USAGE:
Interrogez METERING_HISTORY pour afficher l’utilisation horaire d’un compte.
Interrogez METERING_DAILY_HISTORY pour afficher l’utilisation quotidienne d’un compte.
Interrogez WAREHOUSE_METERING_HISTORY pour afficher l’utilisation d’un entrepôt.
Interrogez QUERY_HISTORY pour afficher l’utilisation d’une tâche.
INFORMATION_SCHEMA:
Interrogez la fonction de table QUERY_HISTORY.
Note
L’ajustement pour les services Cloud inclus (jusqu’à 10 % du calcul) est affiché uniquement sur l’instruction d’utilisation mensuelle et dans la vue METERING_DAILY_HISTORY. Les informations visualisables dans les vues UI et WAREHOUSE_METERING_HISTORY ne prendront pas en compte cet ajustement et peuvent donc être supérieures à votre consommation de crédit réelle.
Comment savoir d’où vient votre utilisation des services Cloud¶
Utilisez les requêtes suivantes pour examiner votre utilisation des services Cloud.
Historique des requêtes¶
Exemple : Trouvez des requêtes par type qui consomment le plus de crédits de services Cloud
-- The current role must have access to the account usage share
use schema snowflake.account_usage;
select query_type, sum(credits_used_cloud_services) cs_credits, count(1) num_queries
from query_history
where true
and start_time >= timestampadd(day, -1, current_timestamp)
group by 1
order by 2 desc
limit 10;
Exemple : Trouvez des requêtes d’un type donné qui consomment le plus de crédits de services Cloud
-- The current role must have access to the account usage share
use schema snowflake.account_usage;
select *
from query_history
where true
and start_time >= timestampadd(day, -1, current_timestamp)
and query_type = 'COPY'
order by credits_used_cloud_services desc
limit 10;
Exemple : Trier par différents composants d’utilisation des services Cloud
-- The current role must have access to the account usage share
use schema snowflake.account_usage;
select *
from query_history
where true
and start_time >= timestampadd(minute, -60, current_timestamp)
and query_type = 'COPY' --- optional
order by compilation_time desc,
execution_time desc,
list_external_files_time desc,
queued_overload_time desc,
credits_used_cloud_services desc
limit 10;
Historique de l’entrepôt¶
Exemple : Trouver des entrepôts qui consomment le plus de crédits de services Cloud
-- The current role must have access to the account usage share
use schema snowflake.account_usage;
select warehouse_name,
sum(credits_used_cloud_services) credits_used_cloud_services,
sum(credits_used_compute) credits_used_compute,
sum(credits_used) credits_used
from warehouse_metering_history
where true
and start_time >= timestampadd(day, -1, current_timestamp)
group by 1
order by 2 desc
limit 10;
Utilisation du stockage des données¶
Le stockage des données est calculé mensuellement en fonction du nombre moyen d’octets sur disque pour toutes les données stockées chaque jour dans votre compte Snowflake, y compris :
Les fichiers stockés dans des emplacements Snowflake (c.-à-d. zones de préparation utilisateur et table ou zones de préparation internes nommées) pour le chargement/déchargement de données en lot. L’utilisateur qui prépare un fichier peut choisir ou non de le compresser afin de réduire le stockage.
Les données stockées dans des tables de la base de données, y compris les données historiques gérées pour Time Travel. Snowflake compresse automatiquement toutes les données stockées dans les tables et utilise la taille du fichier compressé pour calculer le stockage total utilisé pour un compte.
Les données historiques sont conservées pour Fail-safe.
Les coûts mensuels de stockage des données dans Snowflake sont basés sur un taux forfaitaire par téraoctet (TB). Le montant facturé par TB dépend de votre type de compte (Capacité ou Sur demande) et de votre région (US ou EU). Pour connaître les tarifs du stockage de données, voir la page Tarifs (sur le site Web de Snowflake).
Affichage de l’utilisation des données de votre compte¶
Les utilisateurs ayant le rôle ACCOUNTADMIN peuvent utiliser l’interface Web de Snowflake ou SQL pour afficher la moyenne mensuelle et quotidienne du stockage de données (en octets) de votre compte.
Pour afficher le stockage des données (pour les tables, les zones de préparation et Fail-safe) de votre compte :
- Interface Web
- SQL
Interrogez les éléments suivants (au choix) :
Les fonctions de table (dans Schéma d’information) :
Vues (dans Account Usage) :
Affichage de l’utilisation des données d’une table¶
Les utilisateurs disposant des privilèges d’accès appropriés peuvent utiliser l’interface Web ou SQL pour afficher la taille (en octets) de tables individuelles dans un schéma/une base de données :
- Interface Web
- SQL
Exécutez une commande SHOW TABLES.
De plus, les utilisateurs ayant le rôle ACCOUNTADMIN peuvent utiliser SQL pour afficher les informations sur la taille de la table :
- SQL
Interrogez l’un des éléments suivants :
Vue TABLE_STORAGE_METRICS (dans le Schéma d’information).
la vue Vue TABLE_STORAGE_METRICS (dans Account Usage).
Important
La taille affichée pour une table représente le nombre d’octets qui seront analysés si la table entière est analysée dans une requête ; cependant, ce nombre peut être différent du nombre d’octets physiques (c’est-à-dire d’octets stockés sur disque) pour la table, en particulier pour les tables clonées et les tables contenant des données supprimées :
Une table clonée n’utilise pas de stockage supplémentaire (jusqu’à ce que des lignes soient ajoutées à la table ou que des lignes existantes dans la table soient modifiées ou supprimées). En conséquence, la taille de la table affichée peut être plus grande que les octets physiques réels stockés pour la table. Autrement dit, la table contribue moins au stockage global des données pour le compte que la taille indiquée.
Les données supprimées d’une table ne sont pas incluses dans la taille de la table affichée ; toutefois, les données sont conservées dans Snowflake jusqu’à ce que la période de conservation Time Travel (par défaut, 1 jour) et la période Fail-safe (7 jours) des données soient passées. Pendant ces deux périodes, la taille de la table affichée est plus petite que les octets physiques réels stockés pour la table, c’est-à-dire que la table contribue plus au stockage global des données du compte que la taille indiquée.
Pour plus d’informations sur le stockage des tables clonées et des données supprimées, voir Remarques relatives au stockage de données.