Freigeben über


Optimale Aktualisierung für materialisierte Seeblicke in einem Seehaus

In diesem Artikel werden die semantischen Aspekte beschrieben, die sie berücksichtigen sollten, wenn sie eine optimale Aktualisierung für materialisierte Seeansichten verwenden und die verfügbaren Aktualisierungsmodi für materialisierte Seeansichten umrissen.

Aktualisierungsmodi für materialisierte Seeansichten

  • Optimale Aktualisierung: Dieser Modus wählt automatisch die beste Aktualisierungsstrategie für maximale Leistung für Ihre materialisierten Seeansichten aus – inkrementell, vollständig oder ohne Aktualisierung.

  • Vollständige Aktualisierung: Dieser Modus erzwingt die vollständige Neukompilierung für den materialisierten Seeblick.

Optimale Aktualisierung

Die optimale Aktualisierung wird entwickelt, um die Effizienz, Geschwindigkeit und Kosteneffizienz der Datenverwaltung auf der Microsoft Fabric-Plattform zu verbessern. Es wählt automatisch die am besten geeignete Aktualisierungsstrategie aus, um die Aktualisierungsleistung zu maximieren. Die folgenden Aktualisierungsrichtlinien werden bei optimaler Aktualisierung unterstützt:

Aktualisierungsrichtlinie Description
Schrittweise Aktualisierung Eine inkrementelle Aktualisierung verarbeitet nur die geänderten Daten in den Quellen, auf die in der Definition der materialisierten Seeansichten verwiesen wird.
Keine Aktualisierung Wenn die Quelle unverändert bleibt, d. h., wenn keine Änderung in Delta-Commits erkannt wurde, überspringt der Dienst die Aktualisierung. Dieses Verhalten spart unnötige Verarbeitung.
Vollständige Aktualisierung Eine vollständige Aktualisierung umfasst die Bewertung des gesamten Datasets abhängiger Quellen, wenn änderungen an der Quelle vorgenommen werden.

Von Bedeutung

Damit die inkrementelle Aktualisierung wirksam wird, müssen Sie die Eigenschaft "Delta change data feed(CDF)" delta.enableChangeDataFeed=true für alle abhängigen Quellen festlegen, auf die in der Definition der materialisierten Seeansichten verwiesen wird. Weitere Informationen finden Sie unter Aktivieren der Eigenschaft zur Änderung von Datenfeeds.

Vorteile einer optimalen Aktualisierung

  • Niedrigere Kosten: Weniger Rechenkapazität und Speicher werden verwendet, insbesondere wenn Datenänderungen minimal sind und keine Aktualisierung durchgeführt wird, wenn keine Delta-Commit-Änderung erkannt wird.

  • Verbesserte Effizienz: Schnellere Aktualisierungszyklen helfen Ihnen dabei, neue Einblicke zu liefern und mit sich schnell ändernden Daten auf dem Laufenden zu bleiben.

  • Zeitersparnis: Nur geänderte Daten werden verarbeitet, was zu einer reduzierten Aktualisierungsdauer führt.

Unterstützter Ausdruck bei optimalem Refresh für die Strategie der inkrementellen Aktualisierung

Wenn eine materialisierte Seeansicht mit unterstützten Ausdrücken erstellt wird, kann Fabric inkrementelle Aktualisierungen durchführen. Wenn nicht unterstützte Ausdrücke in Abfragen verwendet werden, wird abhängig von der Änderung entweder eine vollständige Aktualisierung oder keine Aktualisierung ausgeführt.

In der folgenden Tabelle werden die unterstützten Ausdrücke beschrieben:

SQL-Konstrukt Bemerkung
SELECT Ausdruck Unterstützung von Ausdrücken mit eingebauten deterministischen Funktionen. Nicht-deterministische Funktionen und Fensterfunktionen führen zu einer Strategie der vollständigen Aktualisierung.
FROM
WHERE Nur deterministische integrierte Funktionen werden unterstützt.
INNERE VERKNÜPFUNG
WITH Allgemeine Tabellenausdrücke werden unterstützt.
UNION ALL
Einschränkung der Datenqualität Nur deterministische integrierte Funktionen werden in Einschränkungen unterstützt.

Hinweis

Entwerfen Sie Ihre Abfragen mit nur unterstützten Klauseln, um optimale Ergebnisse zu erzielen. Jede Verwendung von nicht unterstützten Mustern löst einen automatischen Fallback auf eine vollständige Aktualisierungsstrategie aus.

Wichtige Punkte für eine optimale Aktualisierung

  • Verwenden Sie zum Optimieren des Ergebnisses unterstützte Ausdrücke in Ihren Abfragen, damit die inkrementelle Aktualisierungsstrategie angewendet werden kann.
  • Die inkrementelle Aktualisierung wird für nur Anfügedaten unterstützt. Wenn die Daten Löschungen oder Aktualisierungen enthalten, führt Fabric eine vollständige Aktualisierung durch.
  • Wenn Sie Datenqualitätseinschränkungen in der Definition einer materialisierten Lake-Ansicht festlegen, respektieren und erzwingen inkrementelle Aktualisierungen diese Einschränkungen während der Aktualisierungen.
  • Für die Nutzung der optimalen Aktualisierungsrate fallen keine zusätzlichen Gebühren an. Sie werden basierend auf der Rechnerressourcennutzung während Aktualisierungsvorgänge in Rechnung gestellt.
  • In Fällen wie kleinen Quelldatensätzen kann Fabric aufgrund der Leistungsrendite eine vollständige Aktualisierung anstelle einer inkrementellen Aktualisierung auswählen.

So aktivieren Sie die Eigenschaft zum Ändern von Datenfeeds

Um eine optimale Aktualisierung zu gewährleisten, müssen Sie die Eigenschaft des Änderungsdatenfeeds (CDF) für alle abhängigen Quellen aktivieren.

Im folgenden Beispiel wird veranschaulicht, wie die Verwendung der CREATE-Anweisung aktiviert wird.

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

Sie können auch eine Anweisung auf den Quelltabellen anwenden ALTER TABLE.

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

Beispiel:

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

So aktivieren Sie den optimalen Aktualisierungsmodus

Standardmäßig ist der optimale Aktualisierungsmodus für die Linie aktiviert. Wenn nicht, führen Sie die folgenden Schritte aus:

  1. Navigieren Sie zur Option "Materialisierte Seeansicht verwalten", und aktivieren Sie den Umschalter Optimal refresh.

    Screenshot, der die Umschaltfläche zeigt, um den optimalen Aktualisierungsmodus zu aktivieren.

Vollständige Aktualisierung

Eine vollständige Aktualisierung führt die vollständige Neukompilierung der materialisierten Seeansicht basierend auf den Quelldaten durch.

Wenn es erforderlich ist, die gesamten Daten in materialisierten Seeansichten neu zu verarbeiten, können Sie den optimalen Aktualisierungsschalter deaktivieren, um in den vollständigen Aktualisierungsmodus zu wechseln.

Screenshot, der die Umschaltfläche zeigt, um in den vollständigen Aktualisierungsmodus zu wechseln.

Oder

Um eine vollständige Aktualisierung einer materialisierten Seeansicht durchzuführen, können Sie den folgenden Befehl verwenden:

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

Hinweis

  • Wenn der Arbeitsbereichsname Leerzeichen enthält, schließen Sie ihn in Backticks ein: `My Workspace`.lakehouse.schema.view_name
  • Das Aktualisieren einer materialisierten Seeansicht, die Nicht-Delta-Tabellen als Quelle verwendet, initiiert eine vollständige Aktualisierung.