Datasetmodi im Power BI-DienstDataset modes in the Power BI service

In diesem Artikel finden Sie eine technische Erläuterung zu Power BI-Datasetmodi.This article provides a technical explanation of Power BI dataset modes. Sie betrifft Datasets, die eine Liveverbindung mit einem extern gehosteten Analysis Services-Modell darstellen, sowie Modelle, die in Power BI Desktop entwickelt werden.It applies to datasets that represent a live connection to an external-hosted Analysis Services model, and also to models developed in Power BI Desktop. Der Artikel legt den Schwerpunkt auf das Grundprinzip der einzelnen Modi und mögliche Einflüsse auf die Kapazitätsressourcen von Power BI.The article emphasizes the rationale for each mode, and possible impacts on Power BI capacity resources.

Dies sind die drei Datasetmodi:The three dataset modes are:

Import-ModusImport mode

Der Import-Modus ist der in Entwicklungsmodellen am häufigsten verwendete Modus.Import mode is the most common mode used to develop models. Dieser Modus bietet dank der Ausführung der Abfragen im Arbeitsspeicher eine extrem hohe Leistung.This mode delivers extremely fast performance thanks to in-memory querying. Er bietet Modellentwicklern darüber hinaus Flexibilität und Unterstützung für bestimmte Power BI-Dienstfunktionen (Q&A, Quick Insights usw.).It also offers design flexibility to modelers, and support for specific Power BI service features (Q&A, Quick Insights, etc.). Aufgrund dieser Vorzüge ist er der Standardmodus beim Erstellen einer neuen Power BI Desktop-Projektmappe.Because of these strengths, it's the default mode when creating a new Power BI Desktop solution.

Es ist wichtig, zu verstehen, dass importierte Daten immer auf dem Datenträger gespeichert werden.It's important to understand that imported data is always stored to disk. Beim Abfragen oder Aktualisieren müssen die Daten vollständig in den Arbeitsspeicher der Power BI-Kapazität geladen werden.When queried or refreshed, the data must be fully loaded into memory of the Power BI capacity. Sobald sie sich im Arbeitsspeicher befinden, können Import-Modelle sehr schnell Abfrageergebnisse erzielen.Once in memory, Import models can then achieve very fast query results. Es ist ebenfalls wichtig, zu verstehen, dass es kein Konzept des teilweisen Ladens eines Import-Modells in den Arbeitsspeicher gibt.It's also important to understand that there's no concept of an Import model being partially loaded into memory.

Beim Aktualisieren werden die Daten zuerst komprimiert und optimiert und anschließend von der VertiPaq-Speicher-Engine auf dem Datenträger gespeichert.When refreshed, data is compressed and optimized and then stored to disk by the VertiPaq storage engine. Beim Laden vom Datenträger in den Arbeitsspeicher lässt sich eine bis zu zehnfache Komprimierung erzielen.When loaded from disk into memory, it's possible to see 10x compression. Es kann also sinnvoll davon ausgegangen werden, dass 10 GB Quelldaten zu einem 1 GB komprimiert werden können.So, it's reasonable to expect that 10 GB of source data can compress to about 1 GB in size. Die Speichergröße auf dem Datenträger kann eine Reduzierung von 20 % von der komprimierten Größe erreichen.Storage size on disk can achieve a 20% reduction from the compressed size. (Der Größenunterschied kann durch Vergleich der Dateigröße in Power BI Desktop mit der Arbeitsspeicherbelegung der Datei im Task-Manager ermittelt werden.)(The difference in size can be determined by comparing the Power BI Desktop file size with the Task Manager memory usage of the file.)

Flexibilität im Entwurf kann auf drei verschiedenen Wegen erreicht werden.Design flexibility can be achieved in three ways. Datenmodellierer bieten sich diese Möglichkeiten:Data modelers can:

  • Integrieren von Daten durch Zwischenspeichern von Dataflows und externen Datenquellen, unabhängig von Typ oder Format der DatenquelleIntegrate data by caching data from dataflows, and external data sources, whatever the data source type or format
  • Nutzen der gesamten Menge der Funktionen der Power Query-Formelsprache (informell als M bezeichnet) beim Erstellen von Abfragen zur DatenvorbereitungLeverage the entire set of Power Query Formula Language (informally referred to as M) functions when creating data preparation queries
  • Nutzen der gesamten Menge der DAX-Funktionen (Data Analysis Expressions) beim Anreichern des Modells mit Geschäftslogik.Leverage the entire set of Data Analysis Expressions (DAX) functions when enhancing the model with business logic. Es besteht Unterstützung für berechnete Spalten, berechnete Tabellen und Measures.There's support for calculated columns, calculated tables, and measures.

Wie in der folgenden Abbildung dargestellt, kann ein Importmodell Daten aus einer beliebigen Anzahl unterstützter Datenquellentypen integrieren.As shown in the following image, an Import model can integrate data from any number of supported data source types.

Ein Importmodell kann Daten aus einer beliebigen Anzahl externer Datenquellentypen integrieren

Während Importmodelle einerseits überzeugende Vorzüge zu bieten haben, gibt es auch Nachteile:However, while there are compelling advantages associated with Import models, there are disadvantages, too:

  • Das gesamte Modell muss in den Arbeitsspeicher geladen werden, damit Power BI Abfragen für das Modell ausführen kann, was die verfügbaren Kapazitätsressourcen unter Druck setzen kann, insbesondere bei steigender Anzahl und Größe der ImportmodelleThe entire model must be loaded to memory before Power BI can query the model, which can place pressure on available capacity resources, especially as the number and size of Import models grow

  • Modelldaten sind stets nur so aktuell wie die letzte Aktualisierung, daher müssen Importmodelle aktualisiert werden, normalerweise mithilfe eines ZeitplansModel data is only as current as the latest refresh, and so Import models need to be refreshed, usually on a scheduled basis

  • Eine vollständige Aktualisierung entfernt alle Daten aus allen Tabellen und lädt sie neu aus der Datenquelle.A full refresh will remove all data from all tables and reload it from the data source. Dieser Vorgang kann im Hinblick auf Zeit und Ressourcen aufwändig für den Power BI-Dienst und die Datenquelle(n) sein.This operation can be expensive in terms of time and resources for the Power BI service, and the data source(s).

    Hinweis

    Power BI kann eine inkrementelle Aktualisierung ausführen, um das Abschneiden und erneute Laden gesamter Tabellen zu vermeiden.Power BI can achieve incremental refresh to avoid truncating and reloading entire tables. Dieses Feature wird aber nur unterstützt, wenn das Dataset in Arbeitsbereichen auf Premium-Kapazitäten gehostet ist.However, this feature is only supported when the dataset is hosted in workspaces on Premium capacities. Weitere Informationen finden Sie im Artikel Inkrementelle Aktualisierung in Power BI Premium.For more information, see the Incremental refresh in Power BI Premium article.

Aus der Perspektive einer Power BI-Dienstressource ist für Importmodelle Folgendes erforderlich:From a Power BI service resource perspective, Import models require:

  • Ausreichender Arbeitsspeicher, um das Modell zum Abfragen oder Aktualisieren zu ladenSufficient memory to load the model when it's queried or refreshed
  • Verarbeitungsressourcen und zusätzliche Arbeitsspeicherressourcen zum Aktualisieren der DatenProcessing resources and additional memory resources to refresh data

DirectQuery-ModusDirectQuery mode

Der DirectQuery-Modus stellt eine Alternative zum Importmodus dar.DirectQuery mode is an alternative to Import mode. Im DirectQuery-Modus entwickelte Modelle importieren keine Daten.Models developed in DirectQuery mode don't import data. Stattdessen bestehen sie nur aus Metadaten, die die Modellstruktur definieren.Instead, they consist only of metadata defining the model structure. Wenn eine Abfrage für das Modell ausgeführt wird, werden native Abfragen verwendet, um Daten aus der zugrunde liegenden Datenquelle abzurufen.When the model is queried, native queries are used to retrieve data from the underlying data source.

Ein DirectQuery-Modell gibt native Abfragen an die zugrunde liegende Datenquelle aus

Es gibt zwei Hauptgründe, warum man sich für die Entwicklung eines DirectQuery-Modells entscheiden kann:There are two main reasons to consider developing a DirectQuery model:

  • Wenn die Datenvolumen zu groß sind – selbst bei Anwendung von Methoden zur Datenreduktion – um sie in ein Modell zu laden oder auf praktikable Weise zu aktualisierenWhen data volumes are too large - even when data reduction methods are applied - to load into a model, or practically refresh
  • Wenn Berichte und Dashboards Daten nahezu in Echtzeit bereitstellen müssen, jenseits dessen, was im Rahmen von planmäßiger Aktualisierung erreicht werden kann.When reports and dashboards need to deliver "near real-time" data, beyond what can be achieved within scheduled refresh limits. (Der Grenzwert für planmäßige Aktualisierung liegt bei 8-mal am Tag, 48-mal täglich für Premium-Kapazität.)(Scheduled refresh limits are eight times a day for shared capacity, and 48 times a day for a Premium capacity.)

DirectQuery-Modelle bringen eine Reihe von Vorteilen mit:There are several advantages associated with DirectQuery models:

  • Die Größenbeschränkungen für Importmodelle spielen keine RolleImport model size limits don't apply
  • Die Modelle erfordern keine AktualisierungModels don't require refresh
  • Benutzer von Berichten greifen bei der Interaktion mit Berichtsfiltern und Datenschnitten auf die aktuellen Daten zu.Report users will see the latest data when interacting with report filters and slicers. Außerdem können Benutzer einen gesamten Bericht aktualisieren, um aktuelle Daten abzurufen.Also, report users can refresh the entire report to retrieve current data.
  • Echtzeitberichte können mithilfe der Funktion Automatische Seitenaktualisierung entwickelt werdenReal-time reports can be developed by using the Automatic page refresh feature
  • Dashboardkacheln, die auf DirectQuery-Modellen basieren, können automatisch bis zu alle 15 Minuten aktualisiert werdenDashboard tiles, when based on DirectQuery models, can update automatically as frequently as every 15 minutes

Allerdings gehen mit DirectQuery-Modellen auch einige Einschränkungen einher:However, there are some limitations associated with DirectQuery models:

  • DAX-Formeln sind auf die Verwendung von M-Ausdrücken und -Funktionen beschränkt, die in native Abfragen umgewandelt werden können, die von der Datenquelle verstanden werden.DAX formulas are limited to use only functions that can be transposed to native queries understood by the data source. Berechnete Tabellen werden nicht unterstützt.Calculated tables are not supported.
  • Features von Quick Insights werden nicht unterstützt.Quick Insights features aren't supported

Aus der Perspektive einer Power BI-Dienstressource ist für DirectQuery-Modelle Folgendes erforderlich:From a Power BI service resource perspective, DirectQuery models require:

  • Nur minimaler Arbeitsspeicher zum Laden des Modells (nur Metadaten) bei der AbfrageMinimal memory to load the model (metadata only) when it's queried
  • Manchmal muss der Power BI-Dienst erhebliche Prozessorressourcen verwenden, um die an die Datenquelle gesendeten Abfragen zu generieren und zu verarbeiten.Sometimes the Power BI service must use significant processor resources to generate and process queries sent to the data source. Wenn diese Situation eintritt, kann sie den Durchsatz beeinträchtigen, insbesondere, wenn das Modell gleichzeitig von mehreren Benutzern abgefragt wird.When this situation arises, it can impact throughput, especially when concurrent users are querying the model.

Weitere Informationen finden Sie unter Verwenden von DirectQuery in Power BI Desktop.For more information, see Use Direct Query in Power BI Desktop.

Zusammengesetzter ModusComposite mode

Im Zusammengesetzten Modus können Import- und DirectQuery-Modi gemischt oder mehrere DirectQuery-Datenquellen integriert werden.Composite mode can mix Import and DirectQuery modes, or integrate multiple DirectQuery data sources. Im zusammengesetzten Modus entwickelte Modelle unterstützen die Konfiguration des Speichermodus für jede Modelltabelle.Models developed in Composite mode support configuring the storage mode for each model table. Dieses Modell unterstützt außerdem berechnete Tabellen (die mit DAX definiert wurden).This mode also supports calculated tables (defined with DAX).

Der Tabellenspeichermodus kann als „Import“, „DirectQuery“ oder „Dual“ konfiguriert werden.The table storage mode can be configured as Import, DirectQuery, or Dual. Eine für den Speichermodus „Dual“ konfigurierte Tabelle weist beide Speichermodi „Import“ und „DirectQuery“ auf, und diese Einstellung ermöglicht es dem Power BI-Dienst, von Abfrage zu Abfrage den effizientesten Modus zu bestimmen.A table configured as Dual storage mode is both Import and DirectQuery, and this setting allows the Power BI service to determine the most efficient mode to use on a query-by-query basis.

Ein zusammengesetztes Modell ist eine Kombination der Speichermodi „Import“ und „DirectQuery“, die auf Tabellenebene konfiguriert sind

Hinter zusammengesetzten Modellen steht die Bestrebung, das Beste aus Import--und DirectQuery-Modus zu vereinen.Composite models strive to deliver the best of Import and DirectQuery modes. Bei entsprechender Konfiguration kann die hohe Abfrageleistung von In-Memory-Modellen mit der Möglichkeit kombiniert werden, Daten nahezu in Echtzeit aus Datenquellen abzurufen.When configured appropriately they can combine the high query performance of in-memory models with the ability to retrieve near real-time data from data sources.

Datenmodellierer, die zusammengesetzte Modelle entwickeln, werden wahrscheinlich Tabellen vom Dimensionstyp im Import- oder DirectQuery-Modus und Tabellen vom Faktentyp im DirectQuery-Modus konfigurieren.Data modelers who develop Composite models are likely to configure dimension-type tables in Import or Dual storage mode, and fact-type tables in DirectQuery mode. Weitere Informationen zur Rolle von Modelltabellen finden Sie unter Informationen zum Sternschema und der Wichtigkeit für Power BI.For more information about model table roles, see Understand star schema and the importance for Power BI.

Betrachten Sie beispielsweise ein Modell mit einer Tabelle Produkt vom Dimensionstyp und einer Tabelle Umsatz vom Faktentyp im DirectQuery-Modus.For example, consider a model with a Product dimension-type table in Dual mode, and a Sales fact-type table in DirectQuery mode. Die Tabelle Produkt kann effizient und schnell aus dem Arbeitsspeicher abgefragt werden, um einen Berichtsdatenschnitt zu rendern.The Product table could be efficiently and quickly queried from in-memory to render a report slicer. Die Tabelle Umsatz könnte ebenso im DirectQuery-Modus mit der zugeordneten Tabelle Produkt abgefragt werden.The Sales table could also be queried in DirectQuery mode with the related Product table. Diese zweite Abfrage könnte die Generierung einer einzelnen, effizienten nativen SQL-Abfrage ermöglichen, die die Tabellen Produkt und Umsatz vereint und nach den Datenschnittwerten filtert.The latter query could enable the generation of a single efficient native SQL query that joins Product and Sales tables, and filters by the slicer values.

Weitere Informationen finden Sie unter Verwenden zusammengesetzter Modelle in Power BI Desktop.For more information, see Use composite models in Power BI Desktop.

Nächste SchritteNext steps