實作效能改進

使用 Microsoft Fabric 進行資料轉換與分析

Luis Silva

Solution Architect - Data & AI

最佳化策略

  • 最佳化 Fabric 項目設計
  • 垂直擴充
  • 水平擴充
使用 Microsoft Fabric 進行資料轉換與分析

最佳化 SQL

  • 查詢僅限所需欄位與操作

將 SQL SELECT 從全欄位改為僅選取特定欄位的範例

使用 Microsoft Fabric 進行資料轉換與分析

最佳化 SQL

  • 查詢僅限所需欄位與操作
  • 使用最小可行的資料型別

將數值欄位的資料型別由 BIGINT 改成 INT 的 CREATE TABLE 範例

使用 Microsoft Fabric 進行資料轉換與分析

最佳化 SQL

  • 查詢僅限所需欄位與操作
  • 使用最小可行的資料型別
  • 採用星型綱要設計

星型綱要圖:事實表與相關維度表

使用 Microsoft Fabric 進行資料轉換與分析

最佳化 SQL

  • 查詢僅限所需欄位與操作
  • 使用最小可行的資料型別
  • 採用星型綱要設計
  • 用系統檢視監控查詢使用狀況
SELECT *
FROM sys.dm_exec_requests;
使用 Microsoft Fabric 進行資料轉換與分析

最佳化筆記本

  • 善用 Spark History Server

Spark UI 網頁畫面擷圖

使用 Microsoft Fabric 進行資料轉換與分析

最佳化筆記本

  • 善用 Spark History Server
  • 無使用時停止作用中的 Spark 工作階段
使用 Microsoft Fabric 進行資料轉換與分析

最佳化筆記本

  • 善用 Spark History Server
  • 無使用時停止作用中的 Spark 工作階段
  • 進行 Join 前,先縮減記憶體中的資料量
使用 Microsoft Fabric 進行資料轉換與分析

最佳化資料流程

  • 盡量減少昂貴操作,如排序

範例資料流程:若不需要則移除排序步驟

使用 Microsoft Fabric 進行資料轉換與分析

最佳化資料流程

  • 盡量減少昂貴操作,如排序
  • Query folding(查詢摺疊)
    • 將處理工作下放至資料來源

資料流程步驟示意:無查詢摺疊時在來源外評估;有查詢摺疊時由來源評估作業

使用 Microsoft Fabric 進行資料轉換與分析

最佳化資料流程

  • 盡量減少昂貴操作,如排序
  • Query folding(查詢摺疊)
    • 將處理工作下放至資料來源
  • Staging 開/關
    • 小量載入或簡單轉換可關閉
    • 大量載入或複雜轉換建議開啟

資料流程查詢中的 Enable Staging 選項擷圖

使用 Microsoft Fabric 進行資料轉換與分析

垂直擴充(Scale Up)

  • 提升 SKU 規格
  • 較高 SKU = 較多運算資源

列出各種 Fabric Azure SKU,從最小的 F2 到最大的 F2048 v

使用 Microsoft Fabric 進行資料轉換與分析

垂直擴充(Scale Up)

透過增加 v-core 數量來擴充 Fabric 容量的示意圖

範例:從 F64(8 個 v-core)擴充到 F128(16 個 v-core)

使用 Microsoft Fabric 進行資料轉換與分析

水平擴充(Scale Out)

  • 將部分項目移到不同的 Fabric 容量
  • 隔離工作負載
    • 正式環境 vs 非正式環境
    • 按業務區塊,例如為主管報表設置獨立容量
使用 Microsoft Fabric 進行資料轉換與分析

水平擴充(Scale Out)

透過新增第二個容量並移轉工作負載來進行水平擴充的示意圖

使用 Microsoft Fabric 進行資料轉換與分析

一起來練習吧!

使用 Microsoft Fabric 進行資料轉換與分析

Preparing Video For Download...