共用方式為


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 會新增至學習曲線。

下一步