Azure Synapse Analytics 工作負載重要性
本文說明工作負載重要性如何影響 Azure Synapse Analytics 中專用 SQL 集區要求的執行順序。
重要性
商務需求可能要求資料倉儲工作負載比其他工作負載更重要。 假設有一種情節是在會計週期結束之前載入任務關鍵性銷售資料。 其他來源的資料載入 (例如氣象資料) 沒有嚴格的 SLA。 將載入銷售資料的要求設為高重要性,並將載入氣象資料的要求設為低重要性,可確保銷售資料負載優先存取資源,且更快完成。
重要性等級
有五個重要性層級:低、低於正常、正常、高於正常和高。 未設定重要性的要求會指派預設層級為 [正常]。 具有相同重要性層級的要求,也具有既存的相同排程行為。
重要性情節
除了上述有關銷售和氣象資料的基本重要性情節,還有其他情節指出工作負載重要性有助於滿足資料處理和查詢需求。
鎖定
為讀取和寫入活動取得鎖定是自然爭用的一個領域。 分割區切換或 RENAME OBJECT 等活動需要提升權限的鎖定。 若沒有工作負載重要性,Azure Synapse Analytics 中的專用 SQL 集區會針對輸送量而最佳化。 針對輸送量而最佳化表示當執行中和排入佇列的要求有相同的鎖定需求,而且有資源可用時,排入佇列的要求可以略過較早抵達要求佇列且有較高鎖定需求的要求。 一旦工作負載重要性套用至具有較高鎖定需求的要求。 較高重要性的要求會在較低重要性的要求之前執行。
請考慮下列範例:
- Q1 正在執行並從 SalesFact 選取資料。
- Q2 已排入佇列等候 Q1 完成。 Q2 在上午 9 點提交,並嘗試將新資料分割切換到 SalesFact。
- Q3 在上午 9:01 提交,而且想要從 SalesFact 選取資料。
如果 Q2 和 Q3 具有相同的重要性,而且 Q1 仍在執行,則 Q3 會開始執行。 Q2 會繼續等待獨佔鎖定 SalesFact。 如果 Q2 的重要性高於 Q3,則 Q3 要等到 Q2 完成才能開始執行。
非統一要求
另一個情節是提交具有不同資源類別的要求時,重要性有助於滿足查詢需求。 如同先前所述,在相同重要性之下,Azure Synapse Analytics 中的專用 SQL 集區會針對輸送量而最佳化。 當混合大小的要求 (例如 smallrc 或 mediumrc) 排入佇列時,專用 SQL 集區會選擇最早抵達且符合可用資源大小的要求。 如果套用工作負載重要性,則接下來會排定最高重要性要求。
請看下列在 DW500c 上的範例:
- Q1、Q2、Q3 和 Q4 正在執行 smallrc 查詢。
- Q5 連同 mediumrc 資源類別在上午 9 點提交。
- Q6 連同 smallrc 資源類別在上午 9:01 提交。
因為 Q5 是 mediumrc,所以需要兩個並行插槽。 Q5 需要等待兩個正在執行的查詢完成。 不過,當其中一個正在執行的查詢 (Q1-Q4) 完成時,Q6 立即排程,因為有資源可執行查詢。 如果 Q5 的重要性高於 Q6,則 Q6 會等到 Q5 執行才能開始執行。
下一步
- 如需建立分類器的詳細資訊,請參閱 CREATE WORKLOAD CLASSIFIER (Transact-SQL)。
- 如需工作負載分類的詳細資訊,請參閱工作負載分類。
- 關於如何建立工作負載分類器,請參閱快速入門建立工作負載分類器。
- 請參閱設定工作負載的重要性的操作說明文章,以及如何管理並監視工作負載管理。
- 請參閱 sys.dm_pdw_exec_requests 以檢視查詢和所指派的重要性。