工作負載管理
適用於:✅ Microsoft Fabric 中的 SQL 分析端點和倉儲
本文說明 Microsoft Fabric 中資料倉儲後方的架構和工作負載管理。
資料處理
倉儲和 SQL 分析端點會共用相同的基礎處理架構。 擷取或內嵌資料時,它會利用為小型和大規模資料和計算函式建置的分散式引擎。
此處理系統是無伺服器的,後端運算能力可以自主擴大和縮小以滿足工作負載需求。
提交查詢時,SQL 前端 (FE) 會執行查詢最佳化,以根據資料大小和複雜度來判斷最佳計畫。 產生計畫之後,它會提供給分散式查詢處理 (DQP) 引擎。 DQP 會將查詢分割成在後端計算節點上執行的較小查詢,來協調查詢的分散式執行。 每個小型查詢稱為工作,代表分散式執行單位。 會從 OneLake 讀取檔案、從其他工作聯結結果,將從其他工作擷取的資料分組或排序。 針對擷取作業,它也會將資料寫入適當的目的地資料表。
處理資料時,結果會傳回 SQL 前端,以便傳回給使用者或呼叫應用程式。
彈性和復原
後端計算容量受益於快速佈建架構。 雖然資源指派上沒有 SLA,但通常會在幾秒鐘內取得新的節點。 隨著資源需求增加,新的工作負載會使用擴增的容量。 縮放是線上作業,查詢處理不會中斷。
系統是容錯的,如果節點變得狀況不良,則在此節點上執行的作業將轉散發至狀況良好的節點來完成。
倉儲和 SQL 分析端點提供可高載容量,可讓工作負載使用更多資源來達到更好的效能,並使用平滑來緩解在尖峰時間突然激增的客戶,同時他們有大量未使用的閒置容量。 平滑處理可藉由散佈計算的評估來簡化容量管理,以確保客戶作業能順暢且有效率地執行。
排程與資源處理
分散式查詢處理排程器會在工作層級運作。 查詢以工作的有向非循環圖 (DAG) 的形式呈現給排程器。 Spark 使用者熟悉此概念。 DAG 允許平行處理原則和並行存取,因為彼此不相依的工作可以同時或無序執行。
當查詢送達時,其工作會根據先進先出 (FIFO) 原則進行排程。 如果有閑置容量,排程器可能會使用「最適合」方法來最佳化並行。
當排程器識別資源壓力時,它會叫用縮放作業。 縮放是自主管理的,後端拓撲隨著並行的增加而成長。 由於取得節點需要幾秒鐘的時間,系統並未針對需要分散式處理的查詢的一致次秒效能進行最佳化。
當壓力消退時,後端拓撲會縮小規模,並將資源釋放回區域。
擷取隔離
適用於✅:Microsoft Fabric 的倉儲
在 Microsoft Fabric 中的倉儲後端計算集區中,為載入活動提供了與分析工作負載的資源隔離。 這提高了效能和可靠性,因為擷取作業可以在針對 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 引擎,從而建立隔離界限。 這可以有效地增加執行唯讀查詢的工作階段數目上限。