Comprendre l’utilisation de l’entrepôt pour les tables dynamiques

Chaque table dynamique nécessite un entrepôt pour exécuter ses actualisations. Vous spécifiez cet entrepôt lorsque vous créez la table dynamique, et Snowflake l’utilise automatiquement pour toutes les actualisations planifiées.

Pour obtenir des conseils sur la configuration des entrepôts pour vos tables dynamiques, consultez Ajuster la configuration de votre entrepôt.

Comment la taille de l’entrepôt affecte-t-elle les performances d’actualisation ?

Un entrepôt plus grand n’entraîne pas toujours des coûts plus élevés. Dans de nombreux cas, le fait de doubler la taille de l’entrepôt double le coût par seconde, mais divise par deux la durée d’exécution. Cela se traduit par un coût total similaire, avec des actualisations plus rapides. Les entrepôts de plus grande taille améliorent les performances de deux manières :

  • Mémoire : Lorsqu’une actualisation nécessite plus de mémoire que l’entrepôt n’en fournit, les données se déversent dans le stockage local. Ce déversement augmente le travail total de calcul et ralentit le processus d’actualisation. Un entrepôt plus grand a plus de mémoire et peut éviter complètement les déversements.

  • Parallélisme : Les entrepôts de plus grande taille exécutent davantage de tâches simultanément. Les actualisations qui analysent de grandes quantités de données sur de nombreuses partitions sont les plus efficaces. Les petits ensembles de données et les opérations séquentielles voient leurs rendements diminuer lorsque vous utilisez un entrepôt plus grand.

Pour plus d’informations sur la taille des entrepôts, consultez Taille d’entrepôt.

Prise en charge des entrepôts doubles

Les tables dynamiques prennent en charge des entrepôts distincts pour différents types d’actualisation :

Cette distinction vous permet d’utiliser un entrepôt plus grand pour des initialisations exigeantes en ressources sans payer pour cette capacité lors des actualisations incrémentielles régulières. La prise en charge des entrepôts doubles est utile dans les scénarios courants suivants :

  • Vous souhaitez activer une récupération plus rapide lorsque vous promouvez une table dynamique secondaire en table principale et que vous devez réinitialiser la table.

  • Vous devez répondre à des exigences RTO/RPO strictes, mais vous ne souhaitez pas augmenter les coûts pour les opérations quotidiennes.

Lorsque vous ne définissez pas le paramètre INITIALIZATION_WAREHOUSE, Snowflake exécute toutes les actualisations sur l’entrepôt spécifié par WAREHOUSE.