Fonctionnement des tables dynamiques¶
Lors de la création d’une table dynamique, vous indiquez la requête qui utilisée pour transformer les données d’un ou plusieurs objets de base ou d’une ou plusieurs tables dynamiques. Un processus d’actualisation automatisé exécute régulièrement cette requête et met à jour la table dynamique en fonction des modifications apportées aux objets de base.

Ce processus automatisé calcule les modifications apportées aux objets de base et les fusionne dans la table dynamique. Pour effectuer ce travail, le processus utilise les ressources de calcul que vous associez à la table dynamique. Pour de plus amples informations sur les ressources, reportez-vous à Compréhension du coût des tables dynamiques.
Lors de la création d’une table dynamique, vous spécifiez une cible de niveau d’actualisation pour les données (une latence cible). Par exemple, vous pouvez spécifier que les données doivent avoir un retard maximum de 5 minutes par rapport aux mises à jour de la table de base. Sur la base de ce niveau d’actualisation cible, le processus automatisé met en place des actualisations afin que les données de la table dynamique soient mises à jour dans les limites de cette cible (par exemple, dans les 5 minutes suivant les mises à jour de la table de base).
Si les données n’ont pas besoin d’être aussi actuelles, vous pouvez spécifier un niveau d’actualisation cible plus long afin de réduire les coûts. Par exemple, si les données de la table cible doivent avoir au maximum une heure de retard sur les mises à jour des tables de base, vous pouvez spécifier un niveau d’actualisation cible d’une heure (au lieu de 5 minutes) pour réduire les coûts.
Quand utiliser les tables dynamiques¶
Il existe plusieurs méthodes pour transformer les données dans votre pipeline (par exemple, les flux et les tâches, CTAS, votre propre solution personnalisée). Les tables dynamiques sont une option pour transformer vos données.
Les tables dynamiques sont utilisés de préférence dans les cas suivants :
Vous ne voulez pas écrire de code pour suivre les dépendances des données et gérer l’actualisation des données.
Vous souhaitez éviter la complexité relative aux flux et aux tâches, ou vous n’en avez pas besoin.
Vous devez matérialiser les résultats d’une requête portant sur plusieurs tables de base.
Vous devez construire plusieurs tables pour transformer les données via un pipeline ETL.
Vous n’avez pas besoin d’un contrôle précis de la programmation des actualisations et vous souhaitez simplement spécifier le niveau d’actualisation des données cible pour vos pipelines.
Vous n’avez pas besoin d’utiliser des constructions de requêtes dynamiques non prises en charge, telles que les procédures stockées, les fonctions non déterministes non répertoriées dans Fonctions non déterministes prises en charge dans le cadre d’une actualisation complète, ou les fonctions externes, ni d’utiliser des sources pour les tables dynamiques qui sont des tables externes, des flux ou des vues matérialisées.
Note
Les tables dynamiques peuvent être utilisées comme source d’un flux. Utilisé conjointement, un flux basé sur une table dynamique fonctionne comme n’importe quel autre flux. Pour plus d’informations et d’exemples, voir Tables dynamiques comparées aux flux et aux tâches, ainsi qu’aux vues matérialisées.