分享方式:


工作負載管理

適用於: Microsoft Fabric 中的 SQL 分析端點和倉儲

本文說明 Microsoft Fabric 中數據倉儲背後的架構和工作負載管理。

資料處理

倉儲和 SQL 分析端點會共用相同的基礎處理架構。 擷取或內嵌數據時,它會利用針對小型和大型數據和計算函式所建置的分散式引擎。

處理系統在後端計算容量中無伺服器可自動相應增加和減少,以符合工作負載需求。

SQL 引擎的圖表。

提交查詢時,SQL 前端 (FE) 會執行查詢優化,根據數據大小和複雜度來判斷最佳計劃。 產生計劃之後,它會提供給分散式查詢處理 (DQP) 引擎。 DQP 會將查詢分割成在後端計算節點上執行的較小查詢,以協調查詢的分散式執行。 每個小型查詢稱為工作,並代表分散式執行單位。 它會從 OneLake 讀取檔案、聯結來自其他工作、群組或排序從其他工作擷取的數據。 針對擷取作業,它也會將數據寫入適當的目的地數據表。

處理數據時,結果會傳回 SQL 前端,以傳回給使用者或呼叫應用程式。

彈性和復原能力

後端計算容量受益於快速布建架構。 雖然資源指派上沒有 SLA,但通常會在幾秒鐘內取得新的節點。 隨著資源需求增加,新的工作負載會使用相應放大容量。 調整是在線作業,查詢處理會中斷。

顯示資源快速布建的圖表。

系統是容錯的,如果節點變成狀況不良,節點上執行的作業會轉散發至狀況良好的節點,以完成。

倉儲和 SQL 分析端點提供 高載容量 ,可讓工作負載使用更多資源來達到更佳的效能,並讓 在尖峰期間建立突然尖峰的客戶獲得緩解 ,同時有許多未使用的閑置容量。 平滑化可藉由散佈計算的評估來簡化容量管理,以確保客戶作業能順暢且有效率地執行。

排程與資源

分散式查詢處理排程器會在 工作 層級運作。 查詢會以有向無循環圖 (DAG) 的形式來表示排程器。 Spark 使用者熟悉此概念。 DAG 允許平行處理原則和並行存取,因為不相依於彼此的工作可以同時執行或順序失序。

當查詢送達時,其工作會根據先出 (FIFO) 原則進行排程。 如果有閑置容量,排程器可能會使用「最適合」方法來優化並行。

當排程器識別資源壓力時,它會叫用調整作業。 調整是自主管理,後端拓撲隨著並行增加而成長。 由於取得節點需要幾秒鐘的時間,系統不會針對需要分散式處理的查詢進行一致的子秒效能優化。

當壓力消退時,後端拓撲會相應減少,並將資源釋放回區域。

擷取隔離

適用於:Microsoft Fabric 的倉儲

在 Microsoft Fabric 中 Warehouse 的後端計算集區中,會提供與分析工作負載的資源隔離載入活動。 這可改善效能和可靠性,因為擷取作業可以在針對 ETL 優化的專用節點上執行,而且不會與其他查詢或應用程式競爭資源。

顯示擷取活動隔離的圖表。

工作階段

倉儲和 SQL 分析端點具有每個工作區 724 個用戶會話限制。 達到此限制時,將會傳回錯誤: The user session limit for the workspace is 724 and has been reached

注意

由於 Microsoft Fabric 是 SaaS 平臺,因此有許多系統聯機會執行,以持續優化環境。 DMV 會顯示系統和用戶工作階段。 如需詳細資訊,請參閱 使用 DMV 監視。

最佳作法

Microsoft Fabric 工作區提供分散式計算系統的自然隔離界限。 工作負載可以利用此界限來管理成本和效能。

OneLake 快捷方式 可用來在其他工作區中建立數據表的只讀複本,以將負載分散到多個 SQL 引擎,以建立隔離界限。 這可以有效地增加執行唯讀查詢的會話數目上限。

顯示兩個工作區隔離的圖表,例如 Finance 和 Marketing 工作區。