Performances et optimisation des tables dynamiques¶
Apprenez à optimiser et à surveiller la vitesse et la rentabilité des tables dynamiques. Cette section fournit des concepts de base et des liens vers des rubriques plus détaillées.
Les performances d’une table dynamique font référence à la rapidité et à l’efficacité avec lesquelles l’actualisation d’une table dynamique se termine. Une table dynamique performante s’actualise suffisamment rapidement pour respecter sa latence cible sans consommer de ressources de calcul excessives.
Pourquoi les performances sont importantes¶
- Niveau d’actualisation des données
Les tables dynamiques s’actualisent en fonction d’une latence cible que vous spécifiez, qui est le délai maximum autorisé entre les mises à jour des tables sources et le contenu de la table dynamique. Lorsque les actualisations prennent trop de temps, il se peut que votre pipeline ne réponde pas à vos exigences d’actualisation.
Par exemple, si vous définissez une latence cible de cinq minutes alors que votre actualisation prend huit minutes, votre pipeline ne peut pas maintenir le niveau d’actualisation requis.
- Rentabilité
Les tables dynamiques nécessitent des entrepôts virtuels pour les actualisations, qui consomment des crédits. Les tables dynamiques mal optimisées peuvent analyser plus de données que nécessaire, déclencher des actualisations complètes lorsque la fonction incrémentielle suffirait, ou nécessiter des entrepôts plus volumineux pour respecter les fenêtres de latence cibles.
Pour plus d’informations sur les coûts, consultez Understanding costs for dynamic tables.
Décisions en matière de performances¶
Les modifications qui affectent les performances des tables dynamiques sont réparties en deux catégories en fonction de quand vous pouvez les apporter :
Modifications de la conception |
Ajustements |
|
|---|---|---|
Quand |
Avant de créer un pipeline. |
Une fois que votre pipeline est en cours d’exécution. |
Impact |
Élevé |
Medium |
Flexibilité |
Difficile à modifier ; nécessite la recréation de tables. |
Facile à modifier ; pas besoin de recréer des tables. |
Exemples |
Structure de la requête, mode d’actualisation, conception du pipeline. |
Taille d’entrepôt, clés de clustering, latence cible. |
Pour obtenir des conseils détaillés sur les deux catégories, consultez Optimiser les performances des tables dynamiques.
Prise en main¶
Pour commencer à utiliser l’optimisation des performances des tables dynamiques, essayez le tutoriel pratique :
- Tutoriel : Optimiser les performances des tables dynamiques pour les workflows SCD de type 1
Apprenez à identifier et à résoudre les problèmes de performances dans un pipeline de tables dynamiques. Ce tutoriel montre comment différents modèles SQL affectent l’actualisation incrémentielle et la manière d’utiliser la clause
QUALIFYpour supprimer efficacement les lignes en double.
Rubriques de cette section¶
- Surveiller les performances des tables dynamiques
Comment surveiller les performances d’actualisation, analyser les profils de requête et suivre les métriques clés.
- Optimiser les performances des tables dynamiques
Concepts clés et techniques d’optimisation : modes d’actualisation, localité des données, dimensionnement des entrepôts, latence cible, modèles de requêtes et clustering.
- Optimiser les requêtes pour l’actualisation incrémentielle
Guide des performances pour savoir comment les opérateurs SQL affectent la vitesse d’actualisation incrémentielle.
- Utiliser les contraintes d’immuabilité
Comment utiliser des contraintes d’immuabilité pour marquer les données historiques comme étant immuables et réduire la portée de l’actualisation.