Optimisation des performances des entrepôts

Dans l’architecture Snowflake, les entrepôts virtuels fournissent la puissance de calcul nécessaire à l’exécution des requêtes. Le réglage fin des ressources informatiques fournies par un entrepôt peut améliorer les performances d’une requête ou d’un ensemble de requêtes.

Le propriétaire ou l’administrateur d’un entrepôt peut essayer les stratégies suivantes liées à l’entrepôt pour améliorer les performances d’une ou de plusieurs requêtes. Lorsqu’ils ajustent un entrepôt sur la base de l’une de ces stratégies, ils peuvent tester le changement en réexécutant la requête et en vérifiant son temps d’exécution.

Les stratégies liées à l’entrepôt ne sont qu’un moyen parmi d’autres d’améliorer les performances des requêtes. Pour les stratégies de performance concernant la manière dont les données sont stockées, voir Optimisation des performances de stockage.

Stratégie

Description

Réduire les files d’attente

La réduction des files d’attente peut améliorer les performances, car le temps entre la soumission d’une requête et l’obtention de ses résultats est plus long lorsque la requête doit attendre dans une file d’attente avant d’être lancée.

Résoudre les problèmes de déversement de mémoire

L’ajustement de la mémoire disponible d’un entrepôt peut améliorer les performances, car une requête s’exécute beaucoup plus lentement lorsqu’un entrepôt manque de mémoire, ce qui se traduit par un « déversement » d’octets sur le stockage.

Augmenter la taille des entrepôts

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.

Essayer l’accélération des requêtes

Le Query Acceleration Service décharge certaines parties du traitement des requêtes vers des ressources de calcul sans serveur, ce qui accélère le traitement d’une requête tout en réduisant sa demande sur les ressources de calcul de l’entrepôt.

Optimiser le cache de l’entrepôt

Les performances des requêtes s’améliorent si une requête peut être lue à partir du cache de l’entrepôt plutôt qu’à partir de tables.

Limiter l’exécution simultanée des requêtes

La limitation du nombre de requêtes exécutées simultanément dans un entrepôt peut améliorer les performances, car moins de requêtes sollicitent les ressources de l’entrepôt.

Astuce

L’optimisation d’un entrepôt pour la performance des requêtes est plus simple lorsque l’entrepôt exécute des charges de travail similaires. Par exemple, si un entrepôt exécute des requêtes très différentes, le coût d’une optimisation des performances peut être gaspillé pour une requête qui ne bénéficie pas de l’optimisation.

Pour des directives générales sur la distribution des charges de travail dans les entrepôts de votre organisation, consultez la section Analyse de vos charges de travail de l’article Managing Snowflake’s Compute Resources (Gestion des ressources de calcul de Snowflake) (Snowflake blog).