全部產品
Search
文件中心

AnalyticDB:物化視圖可觀測能力

更新時間:Mar 03, 2026

AnalyticDB for MySQL增強了物化視圖全生命週期的可觀測能力。使用者可及時感知延遲事件,在複雜拓撲中精準定位根因,並獲得清晰的成本治理依據。

背景概覽

AnalyticDB for MySQL支援物化視圖,根據查詢特性不同,可使用增量重新整理或全量重新整理。物化視圖將表結構與加工邏輯封裝在一起,並內建定時調度能力。使用者只需定義商務邏輯與時效性要求,無需自行管理複雜的資料管道與血緣關係。

在生產環境中,當大規模使用物化視圖構建資料管道時,常面臨以下問題:

  • 血緣歸因困難:在嵌套物化視圖級聯重新整理情境中,下遊結果表出現延遲時,難以快速定位上遊異常節點。

  • 故障感知滯後:物化視圖任務因合理原因失敗(如上遊表結構變更),但外部系統無法及時獲知,導致錯誤結果被下遊業務使用,造成資產損失。

  • 治理缺乏依據:大量物化視圖持續消耗CPU和儲存資源,還會產生額外的計算費用,但缺乏從業務視角量化其價值的手段,難以清理無效視圖。

  • 延遲波動不可控:某次重新整理因上遊資料量激增導致耗時增加,進而引發後續任務排隊積壓,需快速識別異常批次。

版本限制

叢集核心版本為3.2.6及以上。

說明

雲原生資料倉儲AnalyticDB MySQL控制台集群信息頁面,配寘資訊地區,查看和升級核心版本

主動警示:及時感知重新整理失敗與延遲

AnalyticDB for MySQL核心可檢測物化視圖任務的例外狀況事件(如任務失敗或延遲),並自動向阿里雲CloudMonitor發送警示事件。警示可通過簡訊、DingTalk、飛書等渠道即時推送。

配置延遲警示

  1. 已經建立物化視圖

  2. 在左側導覽列選擇數據管理 > 數據目錄,單擊物化表對應的資料庫,單擊物化視圖頁簽。

  3. 單擊對應的視圖名,查看視圖詳情。

    image

  4. 啟用後,單擊下方指引,跳轉至阿里雲CloudMonitor,完成事件訂閱配置。

    • 訂閱類型:系統事件

    • 產品:AnalyticDB for MySQL3.0

    • 事件類型:異常

    • 事件名稱:物化視圖重新整理任務失敗&逾時

    • 事件等級:嚴重/警示

血緣關係:通過 DAG 圖定位異常節點

對於嵌套重新整理的物化視圖鏈路,控制台提供DAG視圖,支援遞迴查看某張物化視圖的所有父表(包括基礎資料表與上遊物化視圖)。

在左側導覽列選擇數據管理 > 數據目錄,單擊物化表對應的資料庫,單擊物化視圖頁簽。單擊對應的視圖名,在血緣關係頁簽查看。

image

任務堆積觀測與分析

物化視圖重新整理任務可能出現延遲,常見原因包括寫入高峰期導致 IO 資源爭搶、計算資源不足等。快速判斷當前任務是否異常是營運關鍵。

  1. 通過控制台查看物化錶的歷史重新整理任務

    在物化表視圖詳情頁的刷新策略頁簽,可以查看重新整理歷史。

    重新整理任務狀態說明

    • PENDING:等待調度周期開始,尚未分配資源。

    • RUNNING:已進入調度周期,正在等待或已指派計算資源執行。

    • FINISHED:重新整理成功完成。

    • FAILED:重新整理失敗。系統將自動重試最多 10 次;若仍失敗,則跳過本次任務。增量視圖下次重新整理時會補掃遺漏資料,保證最終一致性。

    • TIMEOUT:任務長時間未完成,系統將其標記為逾時並重新觸發。建議提交工單排查。

    重新整理策略現在有兩種,更多區別詳情請參見如何選擇重新整理策略

    • COMPLETE:全量重新整理。

    • FAST:增量重新整理。

  2. 通過SQL查詢自動重新整理記錄

    -- 查詢指定物化視圖的自動重新整理任務
    -- mv_schema: 物化視圖所在的資料庫名
    -- mv_name:   物化視圖的名稱
    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'db_name' AND mv_name = 'mv_name';

    判斷方法:

    1. 找出最新重新整理任務(通常為 PENDING 或 RUNNING 狀態)。

    2. 計算歷史任務平均耗時(結束時間 - 啟動時間)。

    3. 對比當前任務耗時(若為 RUNNING,則為目前時間 - 啟動時間)。

    4. 若當前耗時顯著高於歷史均值,則可能存在異常,需進一步診斷。

    更多詳情請參見查詢物化視圖的重新整理記錄

量化價值:輔助進行成本治理

當系統中存在大量物化視圖時,需識別低價值或無人訪問的視圖,以最佳化資源使用。

  1. 在物化表視圖詳情頁的查詢熱度頁簽,可以查看熱度指標。

    • 顯式訪問(explicit_hit):使用者 SQL 顯式查詢該物化視圖(包括嵌套重新整理中父視圖對子視圖的引用)。

    • 隱式訪問(implicit_hit):該物化視圖被查詢改寫機制自動選用。

    說明
    • 若物化視圖連續 30 天未被訪問,系統將發出提醒。

    • 查詢熱度標籤頁展示最近 7 天的訪問統計,預設每小時更新一次。

  2. 通過SQL查詢熱度資料。

    -- 查詢指定物化視圖的命中統計資訊
    -- mv_name: 物化視圖的名稱
    -- explicit_hit:  顯式查詢叫用次數(使用者直接查詢該物化視圖)
    -- implicit_hit: 隱式查詢叫用次數(最佳化器自動改寫查詢,使用該物化視圖加速)
    SELECT explicit_hit, implicit_hit
    FROM mv_info
    WHERE mv_name = 'mv_db';

    該資料可用於評估物化視圖的實際業務價值,支援精準的資料治理決策。