Leistung und Optimierung dynamischer Tabellen¶
Erfahren Sie, wie Sie dynamische Tabellen in Bezug auf Geschwindigkeit und Kosteneffizienz optimieren und überwachen können. Dieser Abschnitt enthält grundlegende Konzepte und Links zu detaillierteren Themen.
Die Leistung einer dynamischen Tabelle bezieht sich darauf, wie schnell und effizient eine Aktualisierung einer dynamischen Tabelle erfolgt. Eine gut funktionierende dynamische Tabelle wird schnell genug aktualisiert, um ihre Zielverzögerung zu erfüllen, ohne übermäßige Computeressourcen zu verbrauchen.
Warum Leistung wichtig ist¶
- Aktualität der Daten
Dynamische Tabellen werden basierend auf einer von Ihnen angegebenen Zielverzögerung aktualisiert. Dies ist die maximal zulässige Verzögerung zwischen Aktualisierungen der Quelltabellen und dem Inhalt der dynamischen Tabelle. Wenn die Aktualisierungen zu lange dauern, erfüllt Ihre Pipeline möglicherweise nicht Ihre Anforderungen an die Aktualität.
Wenn Sie beispielsweise eine Zielverzögerung von fünf Minuten festlegen, während Ihre Aktualisierung acht Minuten dauert, kann Ihre Pipeline die erforderliche Aktualität nicht aufrechterhalten.
- Kosteneffizienz
Dynamische Tabellen benötigen virtuelle Warehouses für Aktualisierungen, die Credits verbrauchen. Schlecht optimierte dynamische Tabellen scannen möglicherweise mehr Daten als nötig, lösen vollständige Aktualisierungen aus, wenn inkrementelle ausreichen würden, oder erfordern größere Warehouses, um innerhalb der Zielverzögerungsfenster abgeschlossen zu werden.
Weitere Informationen über Kosten finden Sie unter Understanding costs for dynamic tables.
Leistungsentscheidungen¶
Änderungen, die sich auf die Leistung dynamischer Tabellen auswirken, lassen sich in zwei Kategorien einteilen, je nachdem, wann Sie sie vornehmen können:
Designänderungen |
Anpassungen |
|
|---|---|---|
Wann |
Bevor Sie eine Pipeline erstellen. |
Nachdem Ihre Pipeline ausgeführt wurde. |
Auswirkung |
Hoch |
Medium |
Flexibilität |
Schwer zu ändern; erfordert das Neuerstellen von Tabellen. |
Einfach zu ändern; die Tabellen müssen nicht neu erstellt werden. |
Beispiele |
Abfragestruktur, Aktualisierungsmodus, Pipeline-Design. |
Warehouse-Größe, Gruppierungsschlüssel, Zielverzögerung. |
Ausführliche Hinweise zu beiden Kategorien finden Sie unter Optimieren der Leistung dynamischer Tabellen.
Erste Schritte¶
Für den Einstieg in die Leistungsoptimierung dynamischer Tabellen empfiehlt sich das praxisorientierte Tutorial:
- Tutorial: Optimieren der Leistung dynamischer Tabellen für SCD-Workloads vom Typ 1
Erfahren Sie, wie Sie Leistungsengpässe in einer dynamischen Tabellen-Pipeline identifizieren und beheben können. Dieses Tutorial zeigt, wie unterschiedlich SQL-Muster die inkrementelle Aktualisierung beeinflussen, und veranschaulicht die Verwendung der
QUALIFY-Klausel zum effizienten Entfernen doppelter Zeilen.
Themen in diesem Abschnitt¶
- Überwachen der Leistung dynamischer Tabellen
Vorgehensweise zum Überwachen der Aktualisierungsleistung, Analysieren von Abfrageprofilen und Verfolgen wichtiger Metriken.
- Optimieren der Leistung dynamischer Tabellen
Wesentliche Konzepte und Optimierungsverfahren: Aktualisierungsmodi, Datenlokalität, Warehouse-Dimensionierung, Zielverzögerung, Abfragemuster und Clustering.
- Optimieren von Abfragen für inkrementelle Aktualisierungen
Leistungsbezogene Anleitung dazu, wie SQL-Operatoren die Geschwindigkeit der inkrementellen Aktualisierung beeinflussen.
- Verwenden von Unveränderlichkeitseinschränkungen
Vorgehensweise zur Verwendung von Unveränderlichkeitseinschränkungen, um historische Daten als unveränderlich zu markieren und den Aktualisierungsbereich zu reduzieren.