Bewährte Methoden zum Erstellen einer Data Warehouse mithilfe von Daten FlüssenBest practices for creating a data warehouse using dataflows

Hinweis

Gültig ab November 2020:Effective November 2020:

  • Common Data Service wurde in Microsoft Dataverse umbenannt.Common Data Service has been renamed to Microsoft Dataverse. Weitere InformationenLearn more
  • Einige Terminologie in Microsoft Dataverse wurde aktualisiert.Some terminology in Microsoft Dataverse has been updated. Beispielsweise ist die Entität jetzt Table , und Field ist jetzt Column.For example, entity is now table and field is now column. Weitere InformationenLearn more

Dieser Artikel wird in Kürze aktualisiert, um die neueste Terminologie widerzuspiegeln.This article will be updated soon to reflect the latest terminology.

Das Entwerfen einer Data Warehouse ist eine der gängigsten Aufgaben, die Sie mit einem Datenfluss ausführen können.Designing a data warehouse is one of the most common tasks you can do with a dataflow. In diesem Artikel werden einige bewährte Methoden zum Erstellen einer Data Warehouse mithilfe eines Datenflusses hervorgehoben.This article highlights some of the best practices for creating a data warehouse using a dataflow.

Staging DatenflüsseStaging dataflows

Einer der wichtigsten Punkte in jedem Daten Integrationssystem besteht darin, die Anzahl von Lesevorgängen aus dem Quell Betriebssystem zu reduzieren.One of the key points in any data integration system is to reduce the number of reads from the source operational system. In der herkömmlichen Data Warehouse Architektur wird diese Reduzierung durch Erstellen einer neuen Datenbank mit dem Namen Staging Database erreicht.In the traditional data warehouse architecture, this reduction is done by creating a new database called a staging database. Der Zweck der Stagingdatenbank besteht darin, Daten in regelmäßigen Abständen aus der Datenquelle in die Stagingdatenbank zu laden.The purpose of the staging database is to load data as-is from the data source into the staging database on a regular schedule.

Der Rest der Datenintegration verwendet dann die Stagingdatenbank als Quelle für die weitere Transformation und Konvertierung in die Struktur des Data Warehouse Modells.The rest of the data integration then uses the staging database as the source for further transformation and conversion to the data warehouse model structure.

Es wird empfohlen, den gleichen Ansatz mithilfe von Daten Flüssen zu befolgen.We recommend that you follow the same approach by using dataflows. Erstellen Sie einen Satz von Daten Flüssen, die für das bloße Laden von Daten vom Quellsystem (und nur für die benötigten Tabellen) verantwortlich sind.Create a set of dataflows that are responsible for just loading data as-is from the source system (and only for the tables you need). Das Ergebnis wird dann in der Speicherstruktur des Datenflusses (entweder Azure Data Lake Storage oder Dataverse) gespeichert.The result is then stored in the storage structure of the dataflow (either Azure Data Lake Storage or Dataverse). Durch diese Änderung wird sichergestellt, dass der Lesevorgang aus dem Quellsystem minimal ist.This change ensures that the read operation from the source system is minimal.

Als nächstes können Sie andere Datenflüsse erstellen, die Ihre Daten aus stagingdataflows bilden.Next, you can create other dataflows that source their data from staging dataflows. Diese Vorgehensweise bietet folgende Vorteile:The benefits of this approach include:

  • Reduzieren der Anzahl von Lesevorgängen aus dem Quellsystem und reduzieren der Last auf dem Quellsystem.Reducing the number of read operations from the source system, and reducing the load on the source system as a result.
  • Reduzieren der Auslastung von Daten Gateways, wenn eine lokale Datenquelle verwendet wird.Reducing the load on data gateways if an on-premises data source is used.
  • Eine zwischen Kopie der Daten für den Abgleich, wenn sich die Quellsystem Daten ändern.Having an intermediate copy of the data for reconciliation purpose, in case the source system data changes.
  • Erstellen von Quellen unabhängigen Transformations Daten Flüssen.Making the transformation dataflows source-independent.

Staging Datenflüsse

Das Image, das stagingdatenflüsse und stagingspeicher hervorgehoben, und zeigt die Daten an, auf die vom Datenfluss des Stagings aus der Datenquelle zugegriffen wird, und Entitäten, die in datavers oder Azure Data Lake Storage gespeichert werden.Image emphasizing staging dataflows and staging storage, and showing the data being accessed from the data source by the staging dataflow, and entities being stored in either Datavers or Azure Data Lake Storage. Die Entitäten werden dann angezeigt, wenn Sie zusammen mit anderen Daten Flüssen erstellt werden, die dann als Abfragen gesendet werden.The entities are then shown being tranformed along with other dataflows, which are then sent out as queries.

Transformations DatenflüsseTransformation dataflows

Wenn Sie Ihre Transformations Datenflüsse von den stagingdataflows getrennt haben, ist die Transformation unabhängig von der Quelle.When you've separated your transformation dataflows from the staging dataflows, the transformation will be independent from the source. Diese Trennung hilft, wenn Sie das Quellsystem zu einem neuen System migrieren.This separation helps if you're migrating the source system to a new system. In diesem Fall müssen Sie nur die stagingdataflows ändern.All you need to do in that case is to change the staging dataflows. Der Transformations Datenflüsse funktioniert wahrscheinlich ohne Probleme, da Sie nur aus den stagingdataflows stammen.The transformation dataflows are likely to work without any problem, because they're sourced only from the staging dataflows.

Diese Trennung ist auch hilfreich, wenn die Quellsystem Verbindung langsam ist.This separation also helps in case the source system connection is slow. Der Transformations Datenfluss muss lange nicht warten, bis Datensätze über eine langsame Verbindung vom Quellsystem erhalten werden.The transformation dataflow won't need to wait for a long time to get records coming through a slow connection from the source system. Der stagingdataflow hat diesen Teil bereits ausgeführt, und die Daten sind für die Transformations Schicht bereit.The staging dataflow has already done that part, and the data will be ready for the transformation layer.

Das Bild ähnelt dem vorherigen Bild, außer dass Transformationen hervorgehoben werden und die Daten an die Data Warehouse

Geschichtete ArchitekturLayered architecture

Eine geschichtete Architektur ist eine Architektur, in der Aktionen in separaten Ebenen durchgeführt werden.A layered architecture is an architecture in which you perform actions in separate layers. Der Staging-und der Transformations Datenflüsse können zwei Ebenen einer mehrschichtigen Datenfluss Architektur sein.The staging and transformation dataflows can be two layers of a multilayered dataflow architecture. Durch das Ausführen von Aktionen in Ebenen wird die erforderliche Wartung minimiert.Trying to do actions in layers helps minimize the maintenance required. Wenn Sie etwas ändern möchten, müssen Sie es nur in der Ebene ändern, in der es sich befindet.When you want to change something, you just need to change it in the layer in which it's located. Die anderen Ebenen funktionieren weiterhin wie gewohnt.The other layers will continue to work as usual.

Die folgende Abbildung zeigt eine mehrschichtige Architektur für Datenflüsse, deren Entitäten dann in Power BI Datasets verwendet werden.The following image shows a multilayered architecture for dataflows whose entities are then used in Power BI datasets.

Bild, das anzeigt, dass Entitäten sowohl als stagingdataflows als auch als Transformations Datenflüsse gesendet werden und schließlich in Power BI Datasets verwendet werden

Berechnete Entität so oft wie möglich verwendenUse a computed entity as often as possible

Wenn Sie das Ergebnis eines Datenflusses in einem anderen Datenfluss verwenden, verwenden Sie das Konzept der berechneten Entität. Dies bedeutet, dass Sie Daten aus einer bereits verarbeiteten und gespeicherten Entität erhalten.When you use the result of a dataflow in another dataflow, you're using the concept of the computed entity, which means getting data from an "already-processed-and-stored" entity. Das gleiche kann innerhalb eines Datenflusses vorkommen.The same thing can happen inside a dataflow. Wenn Sie auf eine Entität aus einer anderen Entität verweisen, können Sie die berechnete Entität verwenden.When you reference an entity from another entity, you can use the computed entity. Dies ist hilfreich, wenn Sie über eine Reihe von Transformationen verfügen, die in mehreren Entitäten ausgeführt werden müssen, die als gängige Transformationen bezeichnet werden.This is helpful when you have a set of transformations that need to be done in multiple entities, which are called common transformations.

Berechnete Entität aus einer Datenquelle, die verwendet wird, um allgemeine Transformationen zu verarbeiten

In der vorherigen Abbildung Ruft die berechnete Entität die Daten direkt aus der Quelle ab.In the previous image, the computed entity gets the data directly from the source. In der Architektur der Staging-und Transformations Datenflüsse ist es jedoch wahrscheinlich, dass die berechneten Entitäten aus den stagingdataflows stammen.However, in the architecture of staging and transformation dataflows, it's likely that the computed entities are sourced from the staging dataflows.

Berechnete Entität aus Daten Flüssen, die zum Verarbeiten allgemeiner Transformationen verwendet werden.

Erstellen eines Stern SchemasBuild a star schema

Das beste Data Warehouse Modell ist ein Stern Schema Modell, das über Dimensionen und Fakten Tabellen verfügt, die so entworfen wurden, dass der Zeitaufwand für die Abfrage der Daten aus dem Modell minimiert wird, und die Daten Schnellansicht leicht verständlich ist.The best data warehouse model is a star schema model that has dimensions and fact tables designed in a way to minimize the amount of time to query the data from the model, and also makes it easy to understand for the data visualizer.

Es ist nicht ideal, Daten im selben Layout des Betriebssystems in ein BI-System zu übertragen.It isn't ideal to bring data in the same layout of the operational system into a BI system. Die Datentabellen sollten neu modelliert werden.The data tables should be remodeled. Einige der Tabellen sollten die Form einer Dimensions Tabelle haben, die die beschreibenden Informationen speichert.Some of the tables should take the form of a dimension table, which keeps the descriptive information. Einige der Tabellen sollten das Format einer Fakten Tabelle annehmen, um die aggregierte Daten beizubehalten.Some of the tables should take the form of a fact table, to keep the aggregable data. Das beste Layout für Fakten Tabellen und Dimensions Tabellen besteht darin, ein Stern Schema zu bilden.The best layout for fact tables and dimension tables to form is a star schema. Weitere Informationen finden Sie unter verstehen des Stern Schemas und der Bedeutung für Power BIMore information: Understand star schema and the importance for Power BI

Stern Schema Bild, das eine in Dimensions Tabellen eingeschlossene Fakten Tabelle in der Form eines fünf-Sterne-Stars anzeigt

Eindeutigen Schlüsselwert für Dimensionen verwendenUse a unique key value for dimensions

Stellen Sie beim Erstellen von Dimensions Tabellen sicher, dass Sie jeweils über einen Schlüssel verfügen.When building dimension tables, make sure you have a key for each one. Dadurch wird sichergestellt, dass es keine m:n-Beziehungen zwischen Dimensionen (oder mit anderen Worten: "schwache") gibt.This ensures that there are no many-to-many (or in other words, "weak") relationships among dimensions. Sie können den Schlüssel erstellen, indem Sie eine Transformation anwenden, um sicherzustellen, dass eine Spalte oder eine Kombination von Spalten eindeutige Zeilen in der Dimension zurückgibt.You can create the key by applying some transformation to make sure a column or a combination of columns is returning unique rows in the dimension. Anschließend kann diese Kombination von Spalten als Schlüssel in der Entität im Datenfluss gekennzeichnet werden.Then that combination of columns can be marked as a key in the entity in the dataflow.

Markieren einer Spalte als Schlüsselwert

Ausführen einer inkrementellen Aktualisierung für große Fakten TabellenDo an incremental refresh for large fact tables

Fakten Tabellen sind immer die größten Tabellen in der Data Warehouse.Fact tables are always the largest tables in the data warehouse. Es wird empfohlen, die Anzahl der Zeilen zu verringern, die für diese Tabellen übertragen werden.We recommend that you reduce the number of rows transferred for these tables. Wenn Sie über eine sehr große Fakten Tabelle verfügen, stellen Sie sicher, dass Sie die inkrementelle Aktualisierung für diese Entität verwendenIf you have a very large fact table, ensure that you use incremental refresh for that entity. Eine inkrementelle Aktualisierung kann im Power BI DataSet und auch in den Datenfluss Entitäten vorgenommen werden.An incremental refresh can be done in the Power BI dataset and also in the dataflow entities.

Sie können die inkrementelle Aktualisierung verwenden, um nur einen Teil der Daten zu aktualisieren, der Teil, der sich geändert hat.You can use incremental refresh to refresh only part of the data, the part that has changed. Es gibt mehrere Optionen, um auszuwählen, welcher Teil der Daten aktualisiert werden soll und welcher Teil persistent gespeichert werden soll.There are multiple options to choose which part of the data to be refreshed and which part to be persisted. Weitere Informationen: Verwenden der inkrementellen Aktualisierung mit Power BI DatenflüsseMore information: Using incremental refresh with Power BI dataflows

Inkrementelle Aktualisierung für Dataflows

Verwenden von Verweisen zum Erstellen von Dimensionen und Fakten TabellenUse referencing to create dimensions and fact tables

Im Quellsystem verfügen Sie häufig über eine Tabelle, die Sie zum Erstellen von Fakten-und Dimensions Tabellen in der Data Warehouse verwenden.In the source system, you often have a table that you use for generating both fact and dimension tables in the data warehouse. Diese Tabellen sind gute Kandidaten für berechnete Entitäten und auch zwischen Dataflows.These tables are good candidates for computed entities and also intermediate dataflows. Der allgemeine Teil des Prozesses — , z. b. das Bereinigen von Daten und das Entfernen zusätzlicher Zeilen und Spalten, — kann einmal ausgeführt werden.The common part of the process—such as data cleaning, and removing extra rows and columns—can be done once. Wenn Sie einen Verweis aus der Ausgabe dieser Aktionen verwenden, können Sie die Dimensions-und Fakten Tabellen bilden.By using a reference from the output of those actions, you can produce the dimension and fact tables. Bei diesem Ansatz wird die berechnete Entität für die allgemeinen Transformationen verwendet.This approach will use the computed entity for the common transformations.

Bild, das eine Orders-Abfrage mit der reference-Option zum Erstellen einer neuen Abfrage mit dem Namen "Orders aggregiert" anzeigt