SQL 倉儲類型
Databricks SQL 支援無伺服器、專業和傳統類型。 本文概述每種類型可用的功能,並比較效能和功能。
依類型排序的效能功能
每個 SQL 倉儲類型都有不同的效能功能。 下表顯示每個 SQL 倉儲類型支援的效能功能。
倉儲類型 | Photon 引擎 | 預測性 IO | 智慧型工作負載管理 |
---|---|---|---|
無伺服器 | X | X | X |
Pro | X | X | |
經典 | X |
下列清單描述每個效能功能:
Photon:Databricks 上的內建向量化查詢引擎。 這可讓您現有的 SQL 和 DataFrame API 呼叫更快,並減少每個工作負載的總成本。
預測 IO:一套功能,可加速 SQL 查詢中的選擇性掃描作業。 預測性IO可以提供各種不同的加速。
智慧型工作負載管理 (IWM):一組功能可增強 Databricks SQL Serverless 快速且符合成本效益地處理大量查詢的能力。 IWM 透過 AI 驅動的預測和動態管理技術,以快速確認工作負載具有正確的資源數量。 主要差異在於 Databricks SQL 中的 AI 功能,以動態回應工作負載需求,而不是使用靜態閾值。
注意
如需每個倉儲類型和詳細功能比較的定價,請參閱 Databricks SQL。 若要瞭解最新的 Databricks SQL 功能,請參閱
Databricks SQL 版本資訊。
SQL 倉儲類型之間的效能差異
每個 SQL 倉儲類型都有不同的效能特性。
無伺服器 SQL 倉儲
使用 Azure Databricks 無伺服器架構,無伺服器 SQL 倉儲支援 Databricks SQL 的所有效能功能。 透過無伺服器 SQL 倉儲及其效能功能,您可以取得:
- 快速啟動時間(通常介於 2 到 6 秒之間)。
- 快速上調,以在需要時取得更多計算,以維持低延遲。
- 查詢存取比虛擬機更接近硬體的限制。
- 快速縮減,以在需求不足時將成本降到最低,並提供一致的效能與優化的成本和資源。
選擇無伺服器 SQL 倉庫,這樣可以獲得最佳的啟動效能、最有效率的 IO、更智慧地處理隨時間大幅變化的查詢需求,以及當發生查詢排隊時能快速地自動擴展。 請參閱 無伺服器自動擴展和查詢佇列。
無伺服器 SQL 倉儲在下列類型的工作負載中表現良好:
- ETL
- 商業智慧
- 探索性分析
重要
SQL 倉儲不支援 認證傳遞。 Databricks 建議使用 Unity 目錄進行數據控管。 請參閱 什麼是 Unity 目錄?。
Pro SQL 數據倉庫
Pro SQL 資料倉庫支援 Photon 和預測 IO,但不支援智慧工作負載管理。 使用 Pro SQL 倉儲(不同於無伺服器 SQL 倉儲),計算層存在於您的 Azure 訂閱帳戶中,而不是在 Azure Databricks 帳戶中。 如果沒有智慧型工作負載管理,倉儲對查詢需求的反應會較慢,而且無法像無伺服器 SQL 倉儲一樣快速自動調整。 專業 SQL 倉儲需要幾分鐘的時間才能啟動(通常約 4 分鐘),其在擴展和縮減方面的回應速度比無伺服器 SQL 倉儲低。 請參閱有關 Pro 和傳統 SQL 倉儲的佇列及自動擴展的內容 。
在下列情況下使用 Pro SQL 倉儲:
- 無伺服器 SQL 倉儲無法在區域中使用。
- 您有自定義的網路,而且想要連線到雲端或內部部署網路中的資料庫,以進行聯邦式或混合式架構。 例如,如果您想要將其他服務放入網路,例如事件總線或資料庫,或想要將網路連線到內部部署網路,請使用 pro SQL 倉儲。
傳統 SQL 倉儲
傳統 SQL 倉儲支援 Photon,但不支援預測性 IO 或智能工作負載管理。 使用傳統 SQL 倉儲(不同於無伺服器 SQL 倉儲),計算層會存在於您的 Azure 訂用帳戶帳戶中,而不是在您的 Azure Databricks 帳戶中。 若不支持預測 IO 或智慧型手機工作負載管理,傳統 SQL 倉儲僅提供入門層級的效能,且效能低於無伺服器或 Pro SQL 倉儲。 傳統 SQL 資料倉儲啟動也需要幾分鐘的時間(通常大約4分鐘),相較於無伺服器 SQL 資料倉儲,在增減規模時回應速度較慢。 請參閱有關 Pro 和傳統 SQL 倉儲的佇列及自動擴展的內容 。
使用傳統 SQL 倉儲來執行互動式查詢,以使用入門層級效能和 Databricks SQL 功能進行數據探索。
注意
如需有關調整 SQL 數據倉庫大小以及其如何根據查詢佇列進行擴展的資訊,請參閱 專業版和傳統版 SQL 數據倉庫的佇列和自動擴展。
倉儲類型預設值為何?
針對
- 使用UI時,預設的SQL倉儲類型是無伺服器。
- 使用 SQL 倉儲 API 搭配預設參數,預設 SQL 倉儲類型為傳統。 若要使用無伺服器,請將
enable_serverless_compute
參數設定為true
,並將warehouse_type
設定為pro
。 如果此工作區使用 SQL 倉儲 API 在 2022 年 11 月 1 日至 2023 年 5 月 19 日期間建立倉儲,並符合無伺服器 SQL 倉儲的需求,則預設值會維持設定為true
。 若要避免模棱兩可,特別是對於具有許多工作區的組織,Databricks 建議一律設定此字段。 - 如果工作區使用 舊版外部 Hive 中繼存放區,則不支援無伺服器 SQL 倉儲。 默認的 SQL 倉儲類型與停用無伺服器計算時相同,在 UI 中為專業版,在 API 中使用傳統版。 此外,請連絡您的 Azure Databricks 帳戶小組,以深入瞭解 Unity 目錄或其他選項。
對於不支持無伺服器 SQL 倉儲的工作區:
- 使用UI時,預設SQL倉儲類型為 pro。
- 使用 SQL 倉儲 API 搭配預設參數,預設 SQL 倉儲類型為傳統。