了解 Azure Synapse 無伺服器 SQL 集區功能和使用案例
Azure Synapse Analytics 是整合式分析服務,整合廣泛的常用技術,以大規模處理和分析資料。 資料解決方案中最常用的其中一種技術是 SQL - 這是一種用於查詢和操作資料的業界標準語言。
Azure Synapse Analytics 中的無伺服器 SQL 集區
Azure Synapse SQL 是 Azure Synapse Analytics 中的分散式查詢系統,其可提供兩種執行階段環境:
- 無伺服器 SQL 集區:隨選 SQL 查詢處理,主要用來處理資料湖中的資料。
- 專用 SQL 集區: 用來裝載資料倉儲的企業規模關聯式資料庫執行個體,其中資料是儲存在關聯式資料表中。
在本課程模組中,我們將著重於無伺服器 SQL 集區,此集區提供每次查詢付費端點來查詢資料湖中的資料。 使用無伺服器 SQL 集區的優勢包括:
- 提供可供查詢資料的熟悉 Transact-SQL 語法,讓您不必將資料複製或載入至特製化的存放區。
- 整合式連線能力,其來自廣泛的商業智慧和特定查詢工具,包括最熱門的驅動程式。
- 針對大規模資料和計算函式所建置的分散式查詢處理 - 產生快速的查詢效能。
- 內建的查詢執行容錯,即使涉及大型資料集的長時間執行查詢,也會產生高可靠性和成功率。
- 沒有要設定的基礎結構或或要維護的叢集。 每個 Azure Synapse 工作區內都會提供用於此服務的內建端點,因此您可以在工作區建立好之後就立即開始查詢資料。
- 保留的資源無需收費,系統只會針對您所執行查詢處理的資料收費。
何時使用無伺服器 SQL 集區
無伺服器 SQL 集區是專為查詢資料湖中的資料而量身打造的,因此除了消除管理負荷之外,還不需要擔心將資料擷取到系統。 您只需將查詢指向已在資料湖中的資料,然後執行即可。
Synapse SQL 無伺服器資源模型非常適合於未規畫或「暴增」工作負載,因為您可以在 Azure Synapse Analytics 工作區中使用 Always-On 無伺服器 SQL 端點來處理這些工作負載。 當您需要知道每個為了監視而執行的查詢,其確切成本以及屬性成本時,使用無伺服器集區會有所幫助。
注意
無伺服器 SQL 集區是分析系統,而且不是建議的 OLTP 工作負載,例如應用程式用來儲存交易資料的資料庫。 需要毫秒回應時間,且是用於查找資料集中單一資料列的工作負載,不適合無伺服器 SQL 集區。
無伺服器 SQL 集區的常見使用案例包括:
- 資料探索:資料探索涉及瀏覽資料湖,以取得有關資料的初始深入解析,並可透過 Azure Synapse Studio 輕鬆實現。 您可以瀏覽所連結資料湖儲存體中的檔案,並使用內建的無伺服器 SQL 集區來自動產生 SQL 指令碼,從檔案或資料夾中選取前 100 列,就像您在 SQL Server 中使用資料表所做一樣。 從這裡,您可以對資料套用投射、篩選、分組和大部分的作業,如同位於一般 SQL Server 資料表中的資料。
- 資料轉換:當 Azure Synapse Analytics 透過 Synapse Spark 提供絕佳的資料轉換功能時,一些資料工程師可能會發現資料轉換更容易使用 SQL 來實現。 無伺服器 SQL 集區可讓您執行 SQL 型資料轉換;無論是以互動方式或作為自動化資料管線的一部分。
- 邏輯資料倉儲:在您最初探索資料湖中的資料之後,您可以定義外部物件,例如無伺服器 SQL 資料庫中的資料表和檢視。 資料仍會儲存在資料湖檔案中,但會由關聯式結構描述進行抽象化,而此結構描述可被用戶端應用程式和分析工具用來查詢資料,就像它們在裝載於 SQL Server 的關聯式資料庫中一樣。