Partager via


Actualisation optimale pour les vues matérialisées du lac dans un lac

Cet article décrit les aspects sémantiques à prendre en compte lors de l’utilisation d’une actualisation optimale pour les vues matérialisées du lac et décrit les modes d’actualisation disponibles pour les vues matérialisées du lac.

Modes d’actualisation pour les vues matérialisées du lac

  • Actualisation optimale : ce mode choisit automatiquement la meilleure stratégie d’actualisation pour des performances maximales pour vos vues matérialisées de lac : incrémentielle, complète ou sans actualisation.

  • Actualisation complète : ce mode applique la recompilation complète pour la vue matérialisée du lac.

Actualisation optimale

L’actualisation optimale est conçue pour améliorer l’efficacité, la vitesse et la rentabilité de la gestion des données sur la plateforme Microsoft Fabric. Il sélectionne automatiquement la stratégie d’actualisation la plus appropriée pour optimiser les performances d’actualisation. Les politiques de rafraîchissement suivantes sont prises en charge dans le cadre d’un rafraîchissement optimal :

Stratégie d’actualisation Descriptif
Actualisation incrémentielle Une actualisation incrémentielle traite uniquement les données modifiées dans les sources référencées dans la définition de vues matérialisées du lac.
Aucune actualisation Si la source reste inchangée, c’est-à-dire si aucune modification n’est détectée dans les validations delta, le service ignore l’actualisation. Ce comportement évite les traitements inutiles.
Actualisation complète Une actualisation complète implique l’évaluation de l’ensemble du jeu de données des sources dépendantes chaque fois qu’une modification est apportée à la source.

Important

Pour que l’actualisation incrémentielle prenne effet, il est nécessaire de définir la propriété delta.enableChangeDataFeed=true CDF (Delta Change Data Feed) pour toutes les sources dépendantes référencées dans la définition de vues matérialisées du lac. Pour plus d’informations, consultez comment activer la propriété de flux de données modifiées.

Avantages de l’actualisation optimale

  • Coût inférieur : moins de calculs et de stockage sont utilisés, en particulier lorsque les modifications de données sont minimales. Aucune actualisation n'est effectuée lorsqu'aucune modification de validation delta n'est détectée.

  • Amélioration de l’efficacité : des cycles d’actualisation plus rapides vous aident à fournir des insights plus frais et à suivre les données rapidement modifiées.

  • Économies de temps : seules les données modifiées sont traitées, ce qui réduit la durée d’actualisation.

Expression prise en charge pour une actualisation optimale dans la stratégie d’actualisation incrémentielle

Lorsqu’une vue de lac matérialisée est créée à l’aide d’expressions prises en charge, Fabric peut effectuer des actualisations incrémentielles. Si des expressions non prises en charge sont utilisées dans les requêtes, une actualisation complète ou aucune actualisation n’est effectuée en fonction de la modification.

Le tableau suivant présente les expressions prises en charge :

Élément SQL Remarque
Expression SELECT Prise en charge des expressions ayant des fonctions déterministes (intégrées). Les fonctions non déterministes et de fenêtre mènent à une stratégie d’actualisation complète.
FROM
WHERE Seules les fonctions intégrées déterministes sont prises en charge.
JOINTURE INTERNE
WITH Les expressions de table courantes sont prises en charge
UNION ALL
Contraintes de qualité des données Seules les fonctions intégrées déterministes sont prises en charge dans les contraintes.

Remarque

Pour obtenir de meilleurs résultats, concevez vos requêtes à l’aide de clauses prises en charge uniquement. Toute utilisation de schémas non pris en charge déclenche automatiquement une bascule vers une stratégie d’actualisation complète.

Points clés pour une actualisation optimale

  • Pour optimiser les résultats, utilisez des expressions prises en charge dans vos requêtes afin que la stratégie d’actualisation incrémentielle puisse être appliquée.
  • L’actualisation incrémentielle est prise en charge uniquement pour les données d’ajout. Si les données incluent des suppressions ou des mises à jour, Fabric effectue une actualisation complète.
  • Si vous définissez des contraintes de qualité des données dans la définition de la vue matérialisée de lac, l'actualisation incrémentielle respecte et applique ces contraintes pendant les mises à jour.
  • Aucun frais supplémentaire ne s’applique spécifiquement à l’utilisation d’une actualisation optimale. Vous êtes facturé en fonction de l’utilisation du calcul pendant les opérations d’actualisation.
  • Dans des cas tels que les petits jeux de données sources, Fabric pourrait opter pour une actualisation complète plutôt qu'une actualisation incrémentielle en fonction du rendement des performances.

Comment activer la propriété de flux de données modifiées

Pour une actualisation optimale, il est nécessaire d’activer la propriété de flux de données modifiées (CDF) sur toutes les sources dépendantes.

Les exemples suivants démontrent comment activer l'instruction using CREATE.

CREATE OR REPLACE MATERIALIZED LAKE VIEW silver.customer_orders
TBLPROPERTIES (delta.enableChangeDataFeed=true)
AS
SELECT 
    c.customerID,
    c.customerName,
    c.region,
    o.orderDate,
    o.orderAmount
FROM bronze.customers c INNER JOIN bronze.orders o
ON c.customerID = o.customerID

Vous pouvez également utiliser l’instruction ALTER TABLE sur les tables sources.

  ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Exemple :

  ALTER TABLE bronze.customers SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
  ALTER TABLE bronze.orders SET TBLPROPERTIES (delta.enableChangeDataFeed = true);

Comment activer le mode d’actualisation optimal

Par défaut, le mode d’actualisation optimal est activé pour la lignée. Si ce n’est pas le cas, suivez les étapes ci-dessous :

  1. Accédez à l’option Gérer le lac matérialisé et activez le bouton bascule Optimal refresh.

    Capture d’écran montrant le bouton bascule pour activer le mode d’actualisation optimal.

Actualisation complète

Une actualisation complète effectue la recompilation complète de la vue matérialisée du lac en fonction des données sources.

S’il est nécessaire de retraiter l’intégralité des données dans les vues matérialisées du lac, vous pouvez désactiver le commutateur de rafraîchissement optimal pour passer en mode de rafraîchissement complet.

Capture d’écran affichant le bouton pour passer en mode d’actualisation complet.

ou

Pour effectuer une actualisation complète d’une vue matérialisée du lac, vous pouvez utiliser la commande suivante :

REFRESH MATERIALIZED LAKE VIEW [workspace.lakehouse.schema].MLV_Identifier FULL

Remarque

  • Si le nom de votre espace de travail contient des espaces, placez-le entre des guillemets inversés : `My Workspace`.lakehouse.schema.view_name
  • L’actualisation d’une vue matérialisée de lac qui utilise des tables non delta comme source lance une actualisation complète.