Fabric Data Warehouse-Leistungsrichtlinien
Gilt für:✅ Warehouse in Microsoft Fabric
Dies sind Richtlinien, die Ihnen dabei helfen, die Leistung Ihres Warehouse in Microsoft Fabric zu verstehen. In diesem Artikel finden Sie Anleitungen und wichtige Artikel, auf die Sie sich konzentrieren sollten. Ein Warehouse in Microsoft Fabric ist eine SaaS-Plattform, auf der Aktivitäten wie die Workloadverwaltung, Parallelität und Speicherverwaltung intern von der Plattform verwaltet werden. Zusätzlich zu dieser internen Leistungsverwaltung können Sie Ihre Leistung weiter verbessern, indem Sie leistungsstarke Abfragen für gut konzipierte Warehouses entwickeln.
Leistung bei der Cold-Ausführung (Cold-Cache)
Das Zwischenspeichern mit lokalem SSD und Arbeitsspeicher erfolgt automatisch. Die ersten 1 bis 3 Ausführungen einer Abfrage erfolgen deutlich langsamer als nachfolgende Ausführungen. Wenn Probleme mit der Leistung bei der Cold-Ausführung auftreten, können Sie folgende Schritte ausführen, um die Leistung von Cold-Ausführungen zu verbessern:
Wenn die Leistung der ersten Ausführung entscheidend ist, versuchen Sie, Statistiken manuell zu erstellen. Lesen Sie den Artikel zu Statistiken, um die Rolle von Statistiken besser zu verstehen und Anleitungen zum Erstellen manueller Statistiken zur Verbesserung der Abfrageleistung zu erhalten. Wenn die Leistung der ersten Ausführung jedoch nicht kritisch ist, können Sie automatische Statistiken heranziehen, die in der ersten Abfrage generiert werden und weiterhin in nachfolgenden Ausführungen genutzt werden (solange sich die zugrunde liegenden Daten nicht erheblich ändern).
Wenn Sie Power BI nutzen, sollten Sie nach Möglichkeit den Direct Lake-Modus verwenden.
Metriken für die Überwachung der Leistung
Derzeit umfasst der Überwachungshub kein Warehouse. Wenn Sie Data Warehouse auswählen, können Sie nicht über das Navigationsmenü auf den Überwachungshub zugreifen.
Fabric-Administrator*innen können auf den Bericht zur Kapazitätsauslastung und Metriken zugreifen, um aktuelle Informationen zur Auslastung der Kapazität im Zusammenhang mit dem Warehouse zu erhalten.
Verwenden von DMVs zum Überwachen der Abfrageausführung
Sie können dynamische Verwaltungssichten (Dynamic Management Views, DMVs) verwenden, um den Verbindungs-, Sitzungs- und Anforderungsstatus im Warehouse zu überwachen.
Statistik
Das Warehouse verwendet eine Abfrage-Engine, um einen Ausführungsplan für eine bestimmte SQL-Abfrage zu erstellen. Wenn Sie eine Abfrage übermitteln, versucht der Abfrageoptimierer, alle möglichen Pläne aufzulisten und die effizienteste Option auszuwählen. Um zu bestimmen, welcher Plan den geringsten Mehraufwand erfordert, muss die Engine in der Lage sein, den Arbeitsaufwand oder die Zeilen auszuwerten, die von jedem Operator verarbeitet werden können. Anschließend wählt er basierend auf den Kosten jedes Plans den Plan mit dem geringsten geschätzten Arbeitsaufwand aus. Statistiken sind Objekte, die relevante Informationen zu Ihren Daten enthalten, damit der Abfrageoptimierer diese Kosten schätzen kann.
Sie können Statistiken nach jedem Ladevorgang oder jeder Aktualisierung der Daten auch manuell aktualisieren, um sicherzustellen, dass der beste Abfrageplan erstellt werden kann.
Weitere Informationen zu Statistiken und der Erweiterung der automatisch erstellten Statistiken finden Sie unter Statistiken zum Data Warehousing in Fabric.
Richtlinien für die Datenerfassung
Es gibt vier Optionen für die Datenerfassung in einem Warehouse:
- COPY (Transact-SQL)
- Datenpipelines
- Dataflows
- Warehouse-übergreifende Erfassung
Informationen dazu, welche Option für Sie am besten geeignet ist, und einige bewährte Methoden für die Datenerfassung finden Sie unter Erfassen von Daten.
Gruppieren von INSERT-Anweisungen in Batches (Vermeiden von Trickleeinfügungen)
Das einmalige Laden in eine kleine Tabelle mit einer INSERT-Anweisung wie im folgenden Beispiel kann in Abhängigkeit Ihrer Anforderungen den besten Ansatz darstellen. Falls Sie im Laufe eines Tages aber Tausende oder Millionen von Zeilen laden müssen, sind Singleton-INSERT-Anweisungen nicht optimal.
INSERT INTO MyLookup VALUES (1, 'Type 1')
Eine Anleitung zum Umgang mit diesen Trickleladeszenarios finden Sie unter Bewährte Methoden zum Erfassen von Daten.
Verringern von Transaktionsgrößen
INSERT-, UPDATE- und DELETE-Anweisungen werden in einer Transaktion ausgeführt. Wenn bei Ihnen ein Fehler auftritt, muss ein Rollback ausgeführt werden. Es ist ratsam, die Transaktionsgrößen nach Möglichkeit zu verringern, um das Potenzial für einen langen Rollbackvorgang zu reduzieren. Das Minimieren von Transaktionsgrößen kann durch Unterteilen von INSERT-, UPDATE- und DELETE-Anweisungen in Teile erfolgen. Wenn Sie z. B. über eine INSERT-Anweisung verfügen, die voraussichtlich eine Stunde dauert, können Sie die INSERT-Anweisung in vier Teile unterteilen. Jede Ausführung wird dann auf 15 Minuten gekürzt.
Erwägen Sie die Verwendung eines CTAS-Vorgangs (Transact-SQL), um die beizubehaltenden Daten in eine Tabelle zu schreiben, anstatt DELETE zu verwenden. Wenn für einen CTAS-Vorgang (CREATE TABLE AS SELECT) die gleiche Zeit benötigt wird, kann dieser sichererer ausgeführt werden, da er mit minimaler Transaktionsprotokollierung verbunden ist und bei Bedarf schnell abgebrochen werden kann.
Verwenden von Clientanwendungen und Microsoft Fabric
Wenn Sie Clientanwendungen verwenden, sollten Sie sicherstellen, dass Sie Microsoft Fabric in einer Region nutzen, die sich in der Nähe Ihres Clientcomputers befindet. Beispiele für Clientanwendungen sind Power BI Desktop, SQL Server Management Studio und Azure Data Studio.
Verwenden des Sternschemaentwurfs für Daten
In einem Sternschema werden Daten in Faktentabellen und Dimensionstabellen organisiert. Es vereinfacht die analytische Verarbeitung, indem die Daten aus stark normalisierten OLTP-Systemen denormalisiert werden. Zudem werden Transaktionsdaten und Unternehmensmasterdaten in einer gängigen, bereinigten und überprüften Datenstruktur erfasst, die Joins zur Abfragezeit und die Anzahl der gelesenen Zeilen reduziert sowie Aggregations- und Gruppenverarbeitungsvorgänge vereinfacht.
Weitere Anleitungen zum Warehouse-Entwurf finden Sie unter Tabellen im Data Warehousing.
Reduzieren der Abfrageergebnissatzgrößen
Durch die Reduzierung der Größe von Abfrageresultsets können Sie clientseitige Probleme vermeiden, die durch umfassende Abfrageergebnisse verursacht werden. Die Resultsets des SQL-Abfrage-Editors sind auf die ersten 10.000 Zeilen beschränkt, um diese Probleme auf dieser browserbasierten Benutzeroberfläche zu vermeiden. Wenn Sie mehr als 10.000 Zeilen zurückgeben müssen, verwenden Sie SQL Server Management Studio (SSMS) oder Azure Data Studio.
Auswählen des für die Leistung am besten geeigneten Datentyps
Wenn Sie Ihre Tabellen definieren, verwenden Sie den kleinsten Datentyp, der Ihre Daten unterstützt, da dies die Abfrageleistung verbessert. Diese Empfehlung ist wichtig für CHAR- und VARCHAR-Spalten. Wenn der längste Wert in einer Spalte 25 Zeichen lang ist, sollten Sie die Spalte VARCHAR(25) definieren. Vermeiden Sie es, eine hohe Standardlänge für Zeichenspalten zu definieren.
Verwenden Sie nach Möglichkeit ganzzahlige Datentypen (integer). Die Vorgänge SORT, JOIN und GROUP BY erfolgen schneller mit ganzzahligen Daten als mit Zeichendaten.
Unterstützte Datentypen und weitere Informationen finden Sie unter Datentypen.
Leistung des SQL-Analyseendpunkts
Informationen und Empfehlungen zur Leistung des SQL-Analyseendpunkts finden Sie unter Überlegungen zur Leistung des SQL-Analyseendpunkts.
Datenkomprimierung
Die Datenkomprimierung konsolidiert kleinere Parkettdateien in weniger, größere Dateien, wodurch Lesevorgänge optimiert werden. Dieser Prozess hilft auch bei der effizienten Verwaltung gelöschter Zeilen, indem sie aus unveränderlichen Parkettdateien entfernt werden. Der Datenkomprimierungsprozess umfasst das erneute Schreiben von Tabellen oder Tabellensegmenten in neue Parkettdateien, die für die Leistung optimiert sind. Weitere Informationen finden Sie im Blog: Automatische Datenkomprimierung für Fabric Warehouse.
Der Datenkomprimierungsprozess ist nahtlos in das Lager integriert. Wenn Abfragen ausgeführt werden, identifiziert das System Tabellen, die von der Komprimierung profitieren könnten, und führt erforderliche Auswertungen aus. Es gibt keine manuelle Möglichkeit zum Auslösen der Datenkomprimierung.