Augmentation de la taille des entrepôts

Cette rubrique explique comment un propriétaire d’entrepôt ou un administrateur peut ajuster la taille d’un entrepôt afin d’améliorer les performances des requêtes qui y sont exécutées.

Plus l’entrepôt est grand, plus il y a de ressources de calcul disponibles pour exécuter une requête ou un ensemble de requêtes. L’augmentation de la taille d’un entrepôt est donc une stratégie simple pour améliorer les performances des requêtes. Il suffit d’augmenter la taille de l’entrepôt, d’exécuter à nouveau la requête et, si l’augmentation des performances ne justifie pas l’augmentation du coût d’exécution de la requête, de ramener l’entrepôt à sa taille d’origine.

L’utilisation d’un entrepôt plus grand a un impact plus important sur les requêtes plus importantes et plus complexes, et peut ne pas améliorer les performances des petites requêtes de base.

Note

Vous devez avoir accès à la base de données SNOWFLAKE partagée pour exécuter les requêtes de diagnostic fournies dans cette rubrique. Par défaut, seul le rôle ACCOUNTADMIN dispose des privilèges nécessaires à l’exécution des requêtes.

Déterminer la charge de l’entrepôt

L’examen de la charge d’un entrepôt permet de déterminer si l’augmentation de sa taille peut contribuer à améliorer les performances. Si un entrepôt est très chargé, des requêtes concurrentes peuvent se disputer ses ressources de calcul, auquel cas l’augmentation de la taille de l’entrepôt peut ne pas apporter l’amélioration des performances escomptée. Mais si vous pouvez déterminer que la charge est faible, il y a de fortes chances que l’augmentation de la taille de l’entrepôt améliore les performances d’une requête complexe.

Requête : charge de l’entrepôt

Cette requête permet de connaître la charge totale d’un entrepôt pour les requêtes exécutées et en attente. Ces valeurs de charge représentent le rapport entre le temps d’exécution total (en secondes) de toutes les requêtes dans un état spécifique dans un intervalle et le temps total (en secondes) pour cet intervalle.

Par exemple, si « 276 secondes » était le temps total pour 4 requêtes dans un intervalle de 5 minutes (300 secondes), alors la valeur de la charge de requête est 276 / 300 = 0,92.

 SELECT TO_DATE(start_time) AS date,
  warehouse_name,
  SUM(avg_running) AS sum_running,
  SUM(avg_queued_load) AS sum_queued
FROM snowflake.account_usage.warehouse_load_history
WHERE TO_DATE(start_time) >= DATEADD(month,-1,CURRENT_TIMESTAMP())
GROUP BY 1,2
HAVING SUM(avg_queued_load) >0;
Copy

Considérations relatives aux clients

Un entrepôt plus grand consomme plus de crédits pour une durée donnée :

Taille d’entrepôt

Crédits / Heure

Crédits / Seconde

Remarques

X-Small

1

0,0003

Taille par défaut des entrepôts créés dans Snowsight et utilisant CREATE WAREHOUSE.

Small

2

0,0006

Medium

4

0,0011

Large

8

0,0022

X-Large

16

0,0044

Taille par défaut des entrepôts créés à l’aide de l”Classic Console.

2X-Large

32

0,0089

3X-Large

64

0,0178

4X-Large

128

0,0356

5X-Large

256

0,0711

Disponible de façon générale dans les régions Amazon Web Services et en avant-première dans les régions gouvernementales US et Azure.

6X-Large

512

0,1422

Disponible de façon générale dans les régions Amazon Web Services et en avant-première dans les régions gouvernementales US et Azure.

Si l’exécution d’une requête est moins longue dans un entrepôt plus grand, l’augmentation du coût d’exploitation d’un entrepôt plus grand peut être compensée par la réduction du temps d’exécution. Par exemple, si une requête s’exécute deux fois plus vite sur l’entrepôt de taille immédiatement supérieure, le coût total d’exécution de la requête reste le même.

Astuce

La meilleure pratique consiste à limiter le nombre de personnes autorisées à modifier la taille d’un entrepôt. Permettre aux utilisateurs d’augmenter la taille d’un entrepôt pour répondre aux besoins d’une requête individuelle peut entraîner des coûts inattendus s’ils oublient de ramener l’entrepôt à sa taille initiale une fois la requête exécutée.

Comment augmenter la taille de l’entrepôt ?

Pour augmenter la taille d’un entrepôt, effectuez l’une des opérations suivantes :

Snowsight
  1. Connectez-vous à Snowsight.

  2. Accédez à Admin » Warehouses.

  3. Recherchez l’entrepôt et sélectionnez » Edit.

  4. Utilisez la liste déroulante Size pour sélectionner la nouvelle taille de l’entrepôt.

  5. Sélectionnez Save Warehouse.

SQL

Utilisez la commande ALTER WAREHOUSE pour modifier la taille de l’entrepôt. Par exemple :

ALTER WAREHOUSE my_wh SET WAREHOUSE_SIZE = large;
Copy