Bestimmen, wann ein DirectQuery-Modell entwickelt werden sollte
Ein DirectQuery-Modell umfasst Tabellen, deren Speichermoduseigenschaft auf DirectQuery festgelegt ist und die zur selben Quellgruppe gehören.
Eine Quellgruppe ist eine Gruppe von Modelltabellen, die mit einer Datenquelle verknüpft sind. Es gibt zwei Typen:
- Import: Stellt alle Tabellen im Importspeichermodus dar, einschließlich berechneter Tabellen. Es kann nur eine Importquellgruppe in einem Modell geben.
- DirectQuery: Stellt alle Tabellen im DirectQuery-Speichermodus dar, die mit einer bestimmten Datenquelle verknüpft sind.
Hinweis
Ein Importmodell und ein DirectQuery-Modell machen nur eine einzelne Quellgruppe aus. Wenn mehr als eine Quellgruppe vorhanden ist, wird das Modellframework als zusammengesetztes Modell bezeichnet. Zusammengesetzte Modelle werden in Lektion 5 beschrieben.
Vorteile eines DirectQuery-Modells
Es gibt mehrere Vorteile bei der Entwicklung eines DirectQuery-Modells.
Modellieren großer oder sich schnell ändernder Datenquellen
Ein DirectQuery-Modell ist eine großartige Wahl für ein Framework, wenn Ihre Quelldaten die Merkmale Volumen und/oder Geschwindigkeit aufweisen. Da DirectQuery-Tabellen keine Aktualisierung erfordern, eignen sie sich gut für große Datenspeicher, z. B. ein Data Warehouse. Es ist unpraktisch und ineffizient, wenn nicht unmöglich, ein ganzes Data Warehouse in ein Modell zu importieren. Wenn sich die Quelldaten schnell ändern und Benutzer aktuelle Daten anzeigen müssen, kann ein DirectQuery-Modell Abfrageergebnisse in Quasi-Echtzeit liefern.
Wenn ein Bericht ein DirectQuery-Modell abfragt, übergibt Power BI diese Abfragen an die zugrunde liegende Datenquelle.
Erzwingen von Sicherheit auf Zeilenebene (RLS) in der Quelle
DirectQuery ist auch nützlich, wenn die Quelldatenbank Sicherheit auf Zeilenebene (RLS) erzwingt. Anstatt RLS-Regeln in Ihrem Power BI-Modell zu replizieren, kann die Quelldatendatenbank die Regeln erzwingen. Dieser Ansatz funktioniert nur für einige relationale Datenbanken, und er umfasst das Einrichten des einmaligen Anmeldens für die Datenquelle des Datasets. Weitere Informationen finden Sie unter Azure SQL-Datenbank mit DirectQuery.
Einschränkungen der Datenhoheit
Wenn Ihre Organisation Sicherheitsrichtlinien hat, die einschränken, dass Daten die Einrichtungen verlassen, ist es nicht möglich, Daten zu importieren. Ein DirectQuery-Modell, das eine Verbindung mit einer lokalen Datenquelle herstellt, kann geeignet sein. (Sie können auch die Installation eines Power BI-Berichtsservers für die lokale Berichterstellung erwägen.)
Erstellen spezialisierter Datasets
In der Regel unterstützt der DirectQuery-Modus relationale Datenbankquellen. Das liegt daran, dass Power BI Analyseabfragen in native Abfragen übersetzen muss, mit denen die Datenquelle umgehen kann.
Es gibt jedoch eine bedeutsame Ausnahme. Sie können eine Verbindung mit einem Power BI-Dataset (oder Azure Analysis Services-Modell) herstellen und es in ein lokales DirectQuery-Modell konvertieren. Ein lokales Modell ist ein relativer Begriff, der die Beziehung eines Modells zu einem anderen Modell beschreibt. In diesem Fall ist das ursprüngliche Dataset ein Remotemodell, und das neue Dataset ist das lokale Modell. Diese Modelle werden verkettet, wobei es sich um den Begriff handelt, mit dem verknüpfte Modelle beschrieben werden. Sie können auf diese Weise bis zu drei Modelle miteinander verketten.
Diese Funktion zum Verketten von Modellen unterstützt die Möglichkeit, ein Remotemodell zu personalisieren und/oder zu erweitern. Das einfachste, was Sie tun können, ist das Umbenennen von Objekten, z. B. Tabellen oder Spalten, oder das Hinzufügen von Measures zum lokalen Modell. Sie können das Modell auch mit berechneten Spalten oder berechneten Tabellen erweitern oder neue Import- oder DirectQuery-Tabellen hinzufügen. Diese Erweiterungen führen jedoch zur Erstellung neuer Quellgruppen, was bedeutet, dass das Modell zu einem zusammengesetzten Modell wird. Dieses Szenario wird in Lektion 5 beschrieben.
Weitere Informationen finden Sie unter Verwenden von DirectQuery für Power BI-Datasets und Azure Analysis Services.
Einschränkungen des DirectQuery-Modells
Es gibt viele Einschränkungen im Zusammenhang mit DirectQuery-Modellen, die Sie berücksichtigen müssen. Hier finden Sie die wichtigsten Einschränkungen:
Nicht alle Datenquellen werden unterstützt. In der Regel werden nur große bzw. wichtige relationale Datenbanksysteme unterstützt. Power BI-Datasets und Azure Analysis Services-Modelle werden ebenfalls unterstützt.
Alle Power Query (M)-Transformationen sind nicht möglich, da diese Abfragen in native Abfragen übersetzt werden müssen, mit denen Quellsysteme umgehen können. So ist es beispielsweise nicht möglich, Pivot- oder Unpivot-Transformationen zu verwenden.
Die Analyseabfrageleistung kann langsam sein, insbesondere, wenn Quellsysteme nicht optimiert sind (mit Indizes oder materialisierten Sichten), oder es gibt unzureichende Ressourcen für die Analyseworkload.
Analyseabfragen können die Leistung des Quellsystems beeinträchtigen. Es könnte zu einer langsameren Erfahrung für alle Workloads führen, einschließlich OLTP-Vorgängen.
Steigern der DirectQuery-Modellleistung
Wenn es einen Grund zum Entwickeln eines DirectQuery-Modells gibt, können Sie einige Einschränkungen auf zwei Arten abmildern.
Datenquellenoptimierungen
Sie können die Quelldatenbank optimieren, um sicherzustellen, dass die erwartete Analyseabfrageauslastung gut funktioniert. Insbesondere können Sie Indizes und materialisierte Sichten erstellen und sicherstellen, dass die Datenbank über ausreichende Ressourcen für alle Workloads verfügt.
Tipp
Es wird empfohlen, dass Sie immer mit dem Datenbankbesitzer zusammenarbeiten. Es ist wichtig, dass dieser die zusätzliche Workload versteht, die ein DirectQuery-Modell auf seine Datenbank ausüben kann.
Benutzerdefinierte DirectQuery-Aggregationstabellen
Sie können benutzerdefinierte Aggregationstabellen zu einem DirectQuery-Modell hinzufügen. Benutzerdefinierte Aggregationstabellen sind spezielle Modelltabellen, die ausgeblendet sind (für Benutzer, Berechnungen und RLS). Sie funktionieren am besten, wenn sie Analyseabfragen mit höherem Aggregationsintervall über große Faktentabellen erfüllen. Wenn Sie für die Aggregationstabelle die Verwendung des DirectQuery-Speichermodus festlegen, kann sie eine materialisierte Sicht in der Datenquelle abfragen. Sie können für eine Aggregationstabelle auch festlegen, dass der Importspeichermodus verwendet wird, oder automatische Aggregationen aktivieren-. Diese Optionen werden in Lektion 4 beschrieben.
Weitere Informationen finden Sie unter Leitfaden für das DirectQuery-Model in Power BI Desktop.