使用數據流建立維度模型的最佳做法

設計維度模型是您可以使用數據流執行的最常見工作之一。 本文重點說明使用數據流建立維度模型的一些最佳做法。

暫存數據流

任何數據整合系統中的其中一個關鍵點是減少來源作業系統的讀取次數。 在傳統的數據整合架構中,建立稱為 預備資料庫的新資料庫,藉此減少。 預備資料庫的目的是依原樣將數據從數據源依原樣載入暫存資料庫。

接著,其餘的數據整合將會使用暫存資料庫作為進一步轉換的來源,並將其轉換為維度模型結構。

建議您使用數據流遵循相同的方法。 建立一組數據流,負責只依原始來源系統載入數據(且僅適用於您需要的數據表)。 結果接著會儲存在數據流的記憶體結構中(Azure Data Lake 儲存體 或 Dataverse)。 這項變更可確保來源系統的讀取作業最少。

接下來,您可以建立其他數據流,從暫存數據流中產生其數據。 此方法的優點包括:

  • 減少來源系統的讀取作業數目,並因此減少來源系統上的負載。
  • 如果使用內部部署數據源,則減少數據閘道上的負載。
  • 在源系統數據變更時,具有數據中繼複本以供對帳之用。
  • 讓轉換數據流與來源無關。

暫存數據流。

強調暫存數據流和預備記憶體的影像,並顯示暫存數據流從數據源存取的數據,以及儲存在 Cadavers 或 Azure Data Lake 儲存體 中的數據表。 然後會顯示數據表會隨著其他數據流一起轉換,然後以查詢的形式傳送出來。

轉換數據流

當您將轉換數據流與暫存數據流區隔開時,轉換會與來源無關。 如果您要將來源系統移轉至新系統,此區隔有助於您。 在此情況下,您只需要變更暫存數據流。 轉換數據流可能沒有任何問題,因為它們只從暫存數據流來源。

如果來源系統連線速度緩慢,此區隔也有助於。 轉換數據流不需要等候很長的時間,才能從來源系統取得緩慢連線的記錄。 暫存數據流已經完成該部分,且數據已準備好進行轉換層。

與上一個映射類似的影像,但會強調轉換,並將數據傳送至數據倉儲。

分層架構

分層架構是您在不同層中執行動作的架構。 暫存和轉換數據流可以是多層式數據流架構的兩層。 嘗試在層中執行動作可確保所需的最低維護。 當您想要變更某個專案時,只需要在所在圖層中變更它即可。 其他層應該都會繼續正常運作。

下圖顯示數據流的多層次架構,其數據表接著會用於PowerBI語意模型。

具有多層式架構的影像,其中暫存數據流和轉換數據流位於不同的層中。

盡可能使用計算數據表

當您在另一個數據流中使用資料流的結果時,您會使用計算數據表的概念,這表示從「已處理和儲存的」數據表取得數據。 數據流內可能發生相同的情況。 當您從另一個數據表參考數據表時,可以使用計算數據表。 當您在多個數據表中需要完成的一組轉換時,這非常有用,這些轉換稱為 一般轉換

顯示從用來處理一般轉換之數據源所計算數據表的影像。

在上一個影像中,計算數據表會直接從來源取得數據。 不過,在預備和轉換數據流的架構中,計算數據表可能是從暫存數據流來源。

從用來處理常見轉換之數據流的計算數據表。

建置星狀架構

最佳維度模型是星型架構模型,其具有維度和事實數據表的設計方式,可將查詢模型數據的時間量降到最低,也可讓您輕鬆地了解數據可視化檢視。

將數據放在 BI 系統中的相同版面配置並不理想。 應該重新建立數據表。 某些數據表應採用維度數據表的形式,以保留描述性資訊。 有些數據表應採用事實數據表的形式,以保留可匯總的數據。 要形成之事實數據表和維度數據表的最佳配置是星型架構。 詳細資訊: 瞭解星型架構和Power BI的重要性

星型架構影像,顯示以維度數據表括住的事實數據表,其形狀為五角星形。

針對維度使用唯一索引鍵值

建置維度數據表時,請確定每個數據表都有索引鍵。 此索引鍵可確保維度之間沒有多對多(或換句話說為「弱式」)關聯性。 您可以套用某些轉換來建立索引鍵,以確保數據行或數據行的組合在維度中傳回唯一的數據列。 然後,數據行的組合可以標示為數據流中數據表中的索引鍵。

將數據行標示為索引鍵值。

針對大型事實數據表執行累加式重新整理

事實數據表一律是維度模型中最大的數據表。 建議您減少針對這些數據表傳輸的數據列數目。 如果您有非常大的事實數據表,請確定您使用該數據表的累加式重新整理。 累加式重新整理可以在Power BI語意模型中完成,也可以進行數據流數據表。

您可以使用累加式重新整理,只重新整理部分數據,該部分已變更。 有多個選項可選擇要重新整理的數據部分,以及要保存哪些部分。 詳細資訊: 搭配 Power BI 數據流使用累加式重新整理

數據流的累加式重新整理。

參考以建立維度和事實數據表

在來源系統中,您通常會有一個數據表,可用來在數據倉儲中產生事實和維度數據表。 這些數據表是計算數據表和中繼數據流的良好候選專案。 程序的常見部分,例如數據清理,以及移除額外的數據列和數據行,可以完成一次。 藉由使用這些動作輸出的參考,您可以產生維度和事實數據表。 此方法會針對一般轉換使用計算數據表。

顯示 Orders 查詢的影像,其中包含用來建立稱為 Orders 匯總的新查詢參考選項。