Azure Synapse Analytics 中的歷程查詢儲存體和分析
歷程查詢分析是資料工程師的其中一個重要需求。 Azure Synapse Analytics 支援四種主要方式來分析查詢歷程記錄和效能。 這些包括查詢存放區、DMV、Azure Log Analytics 和 Azure 資料總管。
本文將展示如何使用其中每一個選項來滿足您的需求。 談到分析查詢歷程記錄時,請檢閱使用案例,以及每個使用案例的最佳方法。
客戶需求 | 查詢存放區 | DMV | Azure Log Analytics | Azure 資料總管 |
---|---|---|---|---|
現成的解決方案 | 需要啟用 | ✔️ | 需要額外的服務 | 需要額外的服務 |
較長的分析期間 | 30 天 | 高達 10000 列的歷程記錄 | 可自訂 | 可自訂 |
重要的計量可用性 | 有限 | ✔️ | 有限 | 可自訂 |
使用 SQL 進行分析 | ✔️ | ✔️ | 需要 KQL | SQL 支援受限 |
查詢存放區
查詢存放區功能可提供關於查詢方案選擇及效能的見解。 其可協助您您快速找出由於查詢計劃變更所導致的效能差異,以簡化效能疑難排解作業。
根據預設,不會針對新的 Azure Synapse Analytics 資料庫啟用查詢存放區。 若要啟用查詢存放區來執行下列 T-SQL 命令:
ALTER DATABASE <database_name>
SET QUERY_STORE = ON;
例如:
ALTER DATABASE [SQLPOOL1]
SET QUERY_STORE = ON;
您可以執行效能稽核,並對相關工作進行疑難排解,方法是尋找最後執行的查詢、執行計數、執行時間最長的查詢、具有實體 I/O 提示數上限的查詢。 如需範例查詢,請參閱使用查詢存放區監視效能。
優點:
- 用於查詢資料的儲存體最多為 30 天。 預設為 7 天。
- 可以在您執行查詢所在的同一工具中取用資料。
已知的限制:
- 歷史查詢資料的預設儲存體較少。
- 相較於使用 DMV,分析案例僅限於 Azure Synapse 的查詢存放區。
DMV
談到收集有關查詢等候時間、執行方案、記憶體等的資訊時,動態管理檢視 (DMV) 非常有用。強烈建議標記您關注的查詢,稍後再對其進行追蹤。 例如:
-- Query with Label
SELECT *
FROM sys.tables
OPTION (LABEL = 'My Query');
如需在 Azure Synapse SQL 中標記您查詢的詳細資訊,請參閱在 Synapse SQL 中使用查詢標籤。
如需使用 DMV 監視 Azure Synapse Analytics 工作負載的詳細資訊,請參閱使用 DMV 監視專用的 SQL 集區工作負載。 如需有關 Azure Synapse Analytics 專屬目錄檢視的文件,請參閱 Azure Synapse Analytics 目錄檢視。
優點:
- 可以在相同的查詢工具中取用資料。
- DMV 提供廣泛的分析選項。
已知限制:
- DMV 受限於 10000 列的歷程項目。
- 當集區暫停/繼續時,系統就會重設檢視。
Log Analytics
可以在 Azure 入口網站中輕鬆地建立 Log Analytics 工作區。 如需有關如何連線 Synapse 與 Log Analytics 的進一步指示,請參閱監視工作負載 - Azure 入口網站。
如同 Azure 資料總管,Log Analytics 會使用 Kusto 查詢語言 (KQL)。 如需有關 Kusto 語法的詳細資訊,請參閱 Kusto 查詢概觀。
除了可設定的保留期間之外,您還可以選擇特別地將其鎖定要在 Log Analytics 中查詢的工作區。 Log Analytics 可讓您彈性地儲存資料、執行,以及儲存查詢。
優點:
- Azure Log Analytics 具有可自訂的記錄保留原則
已知限制:
- 使用 KQL 會新增至學習曲線。
- 可以立即記錄有限的檢視。
Azure 資料總管 (ADX)
Azure 資料總管 (ADX) 是先進的資料探索服務。 此服務可以用來分析來自 Azure Synapse Analytics 的歷程查詢。 若要設定 Azure Data Factory (ADF) 管線來複製記錄並將其儲存至 ADX,請參閱將資料複製到 Azure 資料總管或從中複製資料。 在 ADX 中,您可以執行高效能的 Kusto 查詢來分析您的記錄。 您可以在這裡結合其他策略,例如,透過 ADF 查詢 DMV 輸出並將其載入至 ADX。
優點:
- ADX 提供可自訂的記錄保留原則。
- 針對大量資料執行高效能的查詢,特別是涉及字串搜尋的查詢。
已知的限制:
- 使用 KQL 會新增至學習曲線。