分享方式:


Azure Synapse Analytics 中的專用 SQL 集區 (先前稱為 SQL DW) 架構

Azure Synapse Analytics 是一種分析服務,可將企業資料倉儲和巨量資料分析整合在一起。 其可讓您自由依據需求來查詢資料。

注意

如需 Azure Synapse Analytics 的詳細資訊,請觀看這段說明資料移動增強功能的影片。

Synapse SQL 架構元件

專用 SQL 集區 (先前稱為 SQL DW) 會利用擴增架構,將資料的計算處理散發到多個節點。 縮放單位是稱為資料倉儲單位之計算能力的抽象概念。 計算會與儲存體分開,讓您可以單獨調整系統中資料的計算。

專用 SQL 集區 (先前稱為 SQL DW) 架構

專用 SQL 集區 (先前稱為 SQL DW) 使用以節點為基礎的架構。 應用程式會連接控制節點,並對其發出 T-SQL 命令。 控制節點會裝載分散式查詢引擎,將查詢最佳化以進行平行處理,然後將作業傳遞到計算節點,以平行方式執行其工作。

計算節點會在 Azure 儲存體中儲存所有使用者資料,並執行平行查詢。 資料移動服務 (DMS) 是系統層級的內部服務,其會視需要在節點之間移動資料,以平行方式執行查詢並傳回精確的結果。

在儲存體和計算分離的情況下,使用專用的 SQL 集區 (先前稱為 SQL DW) 時,可以:

  • 獨立估算計算能力,而不論您的儲存體需求為何。
  • 在專用 SQL 集區 (先前稱為 SQL DW) 內增加或縮小計算能力,而不用移動資料。
  • 暫停計算容量,同時讓資料保持不變,因此您只需支付儲存體的費用。
  • 在營運時間期間繼續計算容量。

Azure 儲存體

專用 SQL 集區 (先前稱為 SQL DW) 可利用 Azure 儲存體來保障使用者資料的安全。 因為您的資料是由 Azure 儲存體儲存及管理的,所以您的儲存體耗用量會分開計費。 資料會分區化到散發中,以將系統效能最佳化。 當您定義資料表時,可以選擇要用來散發資料的分區化模式。 支援以下分區化模式:

  • 雜湊
  • 循環配置資源
  • 複寫

控制節點

控制節點是架構的大腦。 它是與所有應用程式與連線互動的前端。 控制節點上會執行分散式查詢引擎,以最佳化和協調平行查詢。 當您提交 T-SQL 查詢時,控制節點會將其轉換為要根據每個散發平行執行的查詢。

計算節點

計算節點可提供計算能力。 散發會對應到計算節點以進行處理。 當您需要支付更多計算資源的費用時,散發會重新對應到可用的計算節點。 計算節點數目範圍是從 1 到 60,取決於 Synapse SQL 的服務等級。

每個計算節點都有會在系統檢視中顯示的節點識別碼。 您可以在名稱開頭為 sys.pdw_nodes 的系統檢視中尋找 node_id 資料行,以查看計算節點識別碼。 如需這些系統檢視的清單,請參閱 Synapse SQL 系統檢視

資料移動服務

資料移動服務 (DMS) 是資料傳輸技術,可協調計算節點之間的資料移動。 某些查詢需要資料移動,以確保平行查詢會傳回精確的結果。 若資料移動是必要的,DMS 確保正確的資料會到達正確的位置。

分佈

散發是儲存體的基本單位,也是處理在分散式資料上所執行平行查詢時的基本單位。 當 Synapse SQL 執行查詢時,會將工作分成 60 個平行執行的較小查詢。

這 60 個較小查詢中的每一個都會在其中一個資料散發中執行。 每個計算節點都會管理這 60 個散發中的一或多個。 如果專用 SQL 集區 (先前稱為 SQL DW) 擁有最大計算資源,則每個計算節點上都有一個散發。 如果專用 SQL 集區 (先前稱為 SQL DW) 擁有最小計算資源,則所有散發都會在一個計算節點上。

注意

如需根據工作負載採用最佳資料表散發策略的相關建議,請參閱 Azure Synapse SQL Distribution Advisor

雜湊分散式資料表

雜湊分散式資料表可以針對大型資料表上的聯結和彙總提供最高查詢效能。

為了將資料分區化到雜湊分散式資料表,系統會使用雜湊函式,決定性地將每個資料列指派給一個散發。 在資料表定義中,其中一個資料行會指定為散發資料行。 雜湊函式會使用散發資料行中的值,將每個資料列指派給一個散發。

下圖說明完整 (非分散式資料表) 會如何儲存為雜湊分散式資料表。

分散式資料表

  • 每個資料列屬於一種發佈。
  • 具決定性的雜湊演算法會將每個資料列指派給一個發佈。
  • 每個發佈的資料表資料列數目會隨著顯示不同資料表大小而有所不同。

選取散發資料行具有效能考量,例如相異性、資料扭曲,以及在系統上執行的查詢類型。

循環配置資源分散式資料表

循環配置資源資料表是要建立的最簡單資料表,可以在用來作為暫存資料表以供載入使用時提供快速效能。

循環配置資源分散式資料表會在整個資料表中平均散發資料,但不需任何進一步最佳化。 會先隨機選擇一個散發,然後將資料列的緩衝區循序指派給散發。 將資料快速載入循環配置資源資料表,但搭配雜湊分散式資料表通常會有較佳的查詢效能。 循環配置資源資料表上的聯結需要重新輪換資料,這需要額外時間。

複寫的資料表

複寫資料表可為小型資料表提供最快速的查詢效能。

複寫的資料表會在每個計算節點上快取一份完整的資料表複本。 因此,複寫資料表就不需在進行聯結或彙總之前,於計算節點之間傳輸資料。 複寫的資料表最適合與小型資料表搭配使用。 需要額外的儲存體,而且,會在寫入資料而導致大型資料表不適用時產生額外的負擔。

下圖顯示會在每個計算節點中第一個散發上快取的複寫資料表。

複寫資料表

下一步

現在您已稍微認識 Azure Synapse,即可了解如何快速建立專用 SQL 集區 (先前稱為 SQL DW)載入範例資料。 如果您不熟悉 Azure,您可能會發現 Azure 詞彙 在您遇到新術語時很有幫助。 或者,您也可以看看以下其他 Azure Synapse 資源。