共用方式為


Azure 資料總管的運作方式

Azure 數據總管提供無與倫比的效能,可用來擷取和查詢遙測、記錄、事件、追蹤和時間序列數據。 它具有優化的記憶體格式、索引,並使用進階數據統計數據,以有效率地規劃查詢和 Just-In-Time 編譯的查詢執行。

記憶體與計算

Azure 數據總管會分隔記憶體和計算資源。 持續性數據位於 Azure Blob 儲存體 中,而計算資源可能會儲存暫存數據,或作為持續性記憶體的快取。

此區隔提供下列優點:

  • 獨立向外延展記憶體和計算資源。
  • 跨多個計算叢集的相同數據存取範圍。 如需詳細資訊,請參閱 數據共用
  • SKU 優化。 如需詳細資訊,請參閱 選取叢集的SKU。

資料存放區

Azure 數據總管會將所有內嵌的數據分割成 範圍數據分區,這是目標數據表的水準配量。 範圍可以像單一記錄一樣小。 當數據累積在數據表中時,Azure 數據總管會自動合併範圍,直到它們成長為包含數百萬筆記錄為止。 每個範圍都會獨立於其他範圍進行編碼和編製索引。 這項功能有助於擷取輸送量的線性縮放比例。

範圍會平均分散到叢集節點,其中會在本機 SSD 和記憶體中快取它們。 此散發可增強準備和執行高度分散式和平行查詢的容量。

如需數據記憶體的詳細資訊,請參閱 範圍概觀

注意

Azure 數據總管也會保留重要的元數據,例如數據表架構和原則物件。 如需原則清單,請參閱 原則概觀

資料快取

Azure 數據總管具有多階層數據快取系統,以確保最相關的數據會盡可能快取到 CPU。 快取系統取決於範圍不變性,且完全搭配壓縮的數據運作。 為了改善查詢效能,數據即使在 RAM 中仍會保持壓縮,而且只有在查詢需要時才解壓縮。

如需快取的詳細資訊,請參閱 快取原則

文字索引

Azure 數據總管的設計目的是在內嵌數據時有效率地編製自由文字(字串)和類似 JSON 的數據行索引。 索引會維持數據粒度層級,以根據索引評估查詢的部分,而不需要掃描數據。

透過合併來持續優化範圍的背景優化可改善壓縮和編製索引,確保有效率的記憶體和低查詢延遲。 一旦範圍達到特定大小,就只會合併索引來增強查詢效能,而不會降低效率。

如需範圍和索引合併的詳細資訊,請參閱 合併原則

數據列存放區

Azure 資料總管提供稱為 數據列存放區的中繼記憶體解決方案。 數據列存放區允許有效率地取用少量數據,並確保此數據可立即可供查詢。 當您 在叢集上啟用串流擷取時,數據一開始會內嵌至數據列存放區,然後移至數據行存放區範圍。

如需詳細資訊,請參閱 批處理與串流擷取

數據行壓縮

Azure 數據總管會維護處於壓縮狀態的數據,減少儲存和處理數據所需的記憶體數量。 此行為可加快查詢效能,並更有效率地使用系統資源。

Azure 數據總管會避免垂直壓縮,這牽涉到排序數據以改善壓縮,因為它在自由文字或半結構化數據案例中具有高 CPU 成本。 相反地,您可以指定具有主要查詢模式之案例的慣用數據排序順序。 此取捨會優先處理查詢的快速數據可用性。

如需指定數據排序順序的詳細資訊,請參閱 數據列順序原則

分散式數據查詢

Azure 數據總管使用分散式數據查詢技術,適用於大型非結構化數據集上的快速臨機操作分析。 這項技術的主要功能包括:

  • 查詢產生的暫存數據會儲存在匯總 RAM 中
  • 相關的範圍會標示在查詢計劃上,以提供快照集隔離
  • 快速且有效率的查詢會以簡短 的預設逾時排定優先順序
  • 跨叢集查詢原生支援,可將叢集間數據交換降至最低
  • 查詢會即時編譯成高效機器碼,使用來自所有範圍的數據統計數據,並針對數據行編碼細節量身打造

注意

Azure 資料總管的設計目的是使用為 Azure 數據總管建置的 Kusto 查詢語言 (KQL) 。 此外, 也支援 T-SQL