在 Azure Synapse Analytics 中管理專用 SQL 集區的計算(先前稱為 SQL DW)
瞭解如何管理 Azure Synapse Analytics 中的計算資源專用 SQL 集區(先前稱為 SQL DW)。 暫停專用 SQL 集區或調整專用 SQL 集區以符合效能需求來降低成本。
什麼是計算管理?
專用 SQL 集區 (先前稱為 SQL DW) 的架構會分隔記憶體和計算,讓每個集區獨立調整。 因此,您可以調整計算規模以符合與資料儲存體無關的效能需求。 您也可以暫停和繼續計算資源。 此架構的自然後果是 計算和記憶體的計費 是分開的。 如果您不需要使用專用 SQL 集區(先前稱為 SQL DW)一段時間,您可以暫停計算來節省計算成本。
調整計算
透過調整專用 SQL 集區 (原為 SQL DW) 的資料倉儲單位設定,擴增或縮減計算。 當您新增更多資料倉儲單位時,載入和查詢效能可能會呈線性增加。
如需向外延展步驟,請參閱 Azure 入口網站、PowerShell 或 T-SQL 快速入門。 您也可以使用 REST API 執行向外延展作業。
若要執行縮放作業,為確保狀態一致,專用 SQL 集區 (原為 SQL DW) 會終止所有傳入的查詢,再復原交易。 調整只會在交易回復完成之後發生。 針對調整作業,系統會將儲存層與計算節點中斷連結、新增計算節點,然後將儲存層重新附加至計算層。 每個專用 SQL 集區(先前稱為 SQL DW)都會儲存為 60 個散發套件,平均散發到計算節點。 新增更多計算節點可增加計算能力。 隨著計算節點數目增加,每個計算節點的散發數目會減少,為您的查詢提供更多計算能力。 同樣地,減少數據倉儲單位會減少計算節點的數目,進而減少查詢的計算資源。
下表顯示隨著數據倉儲單位變更,每個計算節點的散發數目如何變更。 DW30000c 提供 60 個計算節點,並達到比 DW100c 更高的查詢效能。
數據倉儲單位 | 計算節點的 # | 每個節點的散發數目 |
---|---|---|
DW100c | 1 | 60 |
DW200c | 1 | 60 |
DW300c | 1 | 60 |
DW400c | 1 | 60 |
DW500c | 1 | 60 |
DW1000c | 2 | 30 |
DW1500c | 3 | 20 |
DW2000c | 4 | 15 |
DW2500c | 5 | 12 |
DW3000c | 6 | 10 |
DW5000c | 10 | 6 |
DW6000c | 12 | 5 |
DW7500c | 15 | 4 |
DW10000c | 20 | 3 |
DW15000c | 30 | 2 |
DW30000c | 60 | 1 |
尋找正確的數據倉儲單位大小
若要查看相應放大的效能優點,特別是針對較大的數據倉儲單位,您想要使用至少 1 TB 的數據集。 若要尋找專用 SQL 集區的最佳數據倉儲單位數目(先前稱為 SQL DW),請嘗試相應增加和減少。 載入數據之後,執行一些具有不同數目數據倉儲單位的查詢。 由於調整速度很快,因此您可以在一小時內嘗試各種效能等級。
建議 尋找最佳數據倉儲單位數目:
- 針對開發中的專用 SQL 集區(先前稱為 SQL DW),請從選取較少的數據倉儲單位開始。 良好的起點是 DW400c 或 DW200c。
- 監視應用程式效能,觀察相較於您觀察到的效能所選取的數據倉儲單位數目。
- 假設線性刻度,並判斷您需要增加或減少數據倉儲單位的量。
- 繼續調整,直到您達到商務需求的最佳效能等級為止。
向外延展的時機
相應放大數據倉儲單位會影響效能的這些層面:
- 以線性方式改善系統掃描、匯總和 CTAS 語句的效能。
- 增加載入數據的讀取器和寫入器數目。
- 並行查詢和並行位置的數目上限。
建議 何時相應放大數據倉儲單位:
- 執行繁重的數據載入或轉換作業之前,請先相應放大,讓數據更快速地提供。
- 在尖峰上班時間,相應放大以容納更多並行查詢。
如果向外延展無法改善效能,該怎麼辦?
新增數據倉儲單位以增加平行處理原則。 如果工作在計算節點之間平均分割,則額外的平行處理原則可改善查詢效能。 如果相應放大不會變更您的效能,有一些原因可能會發生這種情況。 您的數據可能會因散發而扭曲,或查詢可能會導入大量數據移動。 若要調查查詢效能問題,請參閱 效能疑難解答。
暫停和繼續計算
暫停計算會導致儲存層與計算節點中斷連結。 計算資源會從您的帳戶釋放。 計算暫停時,您不需要支付計算費用。 繼續計算會將記憶體重新附加至計算節點,並繼續計算的費用。 當您暫停專用 SQL 集區時(先前稱為 SQL DW):
- 計算和記憶體資源會傳回數據中心內可用資源的集區
- 暫停期間的數據倉儲單位成本為零。
- 數據記憶體不會受到影響,您的數據會保持不變。
- 所有執行中或已排入佇列的作業都會取消。
- DMV 計數器會重設。
當您繼續專用 SQL 集區時(先前稱為 SQL DW):
- 專用 SQL 集區(先前稱為 SQL DW)會取得數據倉儲單位設定的計算和記憶體資源。
- 數據倉儲單位的計算費用會繼續執行。
- 您的數據會變成可用。
- 專用 SQL 集區 (先前稱為 SQL DW) 上線之後,您必須重新啟動工作負載查詢。
如果您一律想要讓專用 SQL 集區 (先前稱為 SQL DW) 可存取,請考慮將其縮減為最小大小,而不是暫停。
如需暫停和繼續步驟,請參閱 Azure 入口網站 或 PowerShell 快速入門。 您也可以使用 暫停 REST API 或 繼續 REST API。
暫停或調整之前清空交易
我們建議在起始暫停或調整規模作業之前,讓現有的交易先完成。
當您暫停或調整專用 SQL 集區(先前稱為 SQL DW)時,當您起始暫停或調整要求時,查詢會在幕後取消。 取消簡單的 SELECT 查詢是快速作業,幾乎不會影響暫停或調整實例所需的時間。 不過,修改您的數據或數據結構的交易式查詢可能無法快速停止。 根據定義,交易式查詢必須完整完成,或回復其變更。 復原交易式查詢完成的工作可能需要比查詢所套用的原始變更長甚至更長的時間。 例如,如果您取消正在刪除數據列的查詢,而且已經執行了一小時,系統可能需要一小時的時間才能插入已刪除的數據列。 如果您在交易進行時執行暫停或調整,您的暫停或調整可能需要很長的時間,因為暫停和調整必須等待復原完成,才能繼續。
自動進行計算管理
若要自動化計算管理作業,請參閱 使用 Azure 函式管理計算。
相應放大、暫停和繼續作業可能需要幾分鐘的時間才能完成。 如果您要自動調整、暫停或繼續,建議您實作邏輯,以確保某些作業已完成,然後再繼續進行另一個動作。 透過各種端點檢查專用 SQL 集區(先前稱為 SQL DW)狀態,可讓您正確實作這類作業的自動化。
若要檢查專用 SQL 集區(先前稱為 SQL DW)狀態,請參閱 PowerShell 或 T-SQL 快速入門。 您也可以使用 REST API 來檢查專用 SQL 集區 (先前稱為 SQL DW) 狀態。
權限
調整專用 SQL 集區(先前稱為 SQL DW)需要 ALTER DATABASE 中所述的許可權。 暫停和繼續需要 SQL DB 參與者 許可權,特別是 Microsoft.Sql/servers/databases/action。
下一步
請參閱如何管理計算指南 管理計算 資源的另一個層面是配置不同的計算資源進行個別查詢。 如需詳細資訊,請參閱 工作負載管理的資源類別。