Coûts de stockage pour Time Travel et Fail-safe

Des frais de stockage sont encourus pour la conservation de données historiques pendant les périodes de conservation de Time Travel et de Fail-safe.

Dans ce chapitre :

Utilisation de l’espace de stockage et frais d’utilisation

Les frais sont calculés pour chaque période de 24 heures (c.-à-d. 1 journée) à partir du moment où les données ont changé. Le nombre de jours de données historiques est géré en fonction du type de table et de la période de conservation de Time Travel pour la table.

De plus, Snowflake réduit la quantité de stockage requise pour les données historiques en ne conservant que l’information requise pour restaurer les lignes de tables individuelles qui ont été mises à jour ou supprimées. Par conséquent, l’utilisation de l’espace de stockage est calculée en pourcentage de la table qui a changé. Les copies complètes des tables ne sont conservées que lorsque les tables sont détruites ou tronquées.

Tables temporaires et transitoires

Pour aider à gérer les coûts de stockage associés à Time Travel et à Fail-safe, Snowflake offre deux types de tables, temporaires et transitoires, qui n’entraînent pas les mêmes frais que les tables standards (c.-à-d. permanentes) :

  • Les tables transitoires peuvent avoir une période de conservation Time Travel de 0 ou 1 jour.

  • Les tables temporaires peuvent également avoir une période de conservation Time Travel de 0 ou 1 jour ; toutefois, cette période de conservation se termine dès que la table est détruite ou que la session dans laquelle la table a été créée prend fin.

  • Les tables transitoires et temporaires n’ont pas de période Fail-safe.

Par conséquent, les frais supplémentaires maximums encourus pour Time Travel et Fail-safe par ces types de tables sont limités à 1 jour. Le tableau suivant illustre les différents scénarios en fonction du type de table :

Type de table

Période de conservation de Time Travel (jours)

Période Fail-safe (jours)

Données historiques minimales et maximales conservées (jours)

Permanent

0 ou 1 (pour Snowflake Standard Edition)

7

7 , 8

0 à 90 (pour Snowflake Enterprise Edition)

7

7 , 97

Transitoire

0 ou 1

0

0 , 1

Temporaire

0 ou 1

0

0 , 1

Considérations relatives à l’utilisation de tables temporaires et transitoires pour gérer les coûts de stockage

Lorsque vous choisissez de stocker des données dans des tables permanentes, temporaires ou transitoires, tenez compte de ce qui suit :

  • Les tables temporaires sont détruites lorsque la session dans laquelle elles ont été créées se termine. Les données stockées dans les tables temporaires ne sont pas récupérables après la destruction de la table.

  • Les données historiques dans les tables transitoires ne peuvent pas être récupérées par Snowflake après la fin de la période de conservation Time Travel. Utilisez des tables transitoires seulement pour les données que vous pouvez dupliquer ou reproduire indépendamment de Snowflake.

  • Les tables à longue durée de vie, telles que les tables de faits, devraient toujours être définies comme permanentes pour s’assurer qu’elles sont entièrement protégées par Fail-safe.

  • Les tables à courte durée de vie (c.-à-d. <1 jour), telles que les tables de travail ETL, peuvent être définies comme transitoires pour éliminer les coûts associés à Fail-safe.

  • Si le temps d’arrêt et le temps nécessaire pour recharger les données perdues sont des facteurs, les tables permanentes, même avec leurs coûts de sécurité Fail-safe supplémentaires, peuvent offrir une meilleure solution globale que les tables transitoires.

Note

Le type par défaut pour les tables est permanent. Pour définir une table comme temporaire ou transitoire, vous devez spécifier explicitement le type lors de la création de la table :

CREATE [ OR REPLACE ] [ TEMPORARY | TRANSIENT ] TABLE <nom> ...

Pour plus d’informations, voir CREATE TABLE.

Migration des données des tables permanentes vers des tables transitoires

La migration des données des tables permanentes vers des tables transitoires implique l’exécution des tâches suivantes :

  1. Utiliser CREATE TABLE … AS SELECT pour créer et remplir les tables transitoires avec les données issues des tables permanentes d’origine.

  2. Appliquez tous les privilèges de contrôle d’accès accordés sur les tables d’origine aux nouvelles tables. Pour plus d’informations sur le contrôle d’accès, voir Contrôle d’accès dans Snowflake.

  3. Utilisez DROP TABLE pour supprimer les tables d’origine.

  4. Éventuellement, utilisez ALTER TABLE pour renommer les nouvelles tables afin qu’elles correspondent aux tables d’origine.