全部產品
Search
文件中心

Data Lake Formation:儲存最佳化

更新時間:Feb 11, 2026

DLF儲存最佳化支援表級自適應Compaction、到期快照清理、分區生命週期管理、廢棄檔案清理等能力,協助使用者降低Paimon表使用和營運複雜度,提升計算和儲存的使用效率。本文講述DLF後台執行的智能儲存最佳化策略及其執行機制。

重要

Iceberg 表不具備自動儲存回收機制。為避免儲存成本激增,請務必參考Iceberg Table儲存治理以定期手動清理到期快照和孤立檔案。

儲存最佳化策略介紹

策略類型

描述

DLF執行機制

Compaction

Compaction功能通過合并小檔案為較大檔案,減少檔案數量,進而降低中繼資料管理開銷和查詢時的檔案尋找成本,提升查詢效能,增強Paimon表的查詢效率。

在使用者執行Commit寫入資料時,DLF自動觸發Compaction。

到期快照清理

為了保證快照檔案對應的歷史狀態可以被正常讀取,只要快照檔案存在,其指向的歷史資料檔案就不能被刪除。隨著快照檔案不斷產生,歷史資料佔用的儲存空間也將逐漸增加。因此需要淘汰不再使用的快照檔案,以釋放它們所指向的、不再活躍的歷史資料空間,從而實現儲存資源的有效管理與釋放。

在DLF儲存最佳化作業執行時,DLF自動觸發快照清理。快照到期時間預設為1小時。使用者可通過Paimon表參數調整到期時間,詳見清理到期資料

分區生命週期管理

業務情境通常只需訪問近期資料,在這種情況下可以按時間對資料進行分區,並設定分區到期時間以自動刪除過於久遠的歷史分區,從而釋放儲存空間。此外,您可以進行儲存分層配置,將訪問頻率較低的分區資料從高效能儲存(如標準儲存)遷移至低成本儲存(如低頻、歸檔或冷Archive Storage),從而在滿足業務需求的同時降低儲存成本。

使用者可通過Paimon表參數配置到期時間,詳見設定分區到期時間。配置參數後,會在DLF儲存最佳化作業執行時自動觸發。同時,您也可以通過智能儲存分層,將合格分區資料自動遷移至指定的儲存類型(如標準、低頻、歸檔或冷Archive Storage),也可以在表詳情頁面手動修改儲存類型。通過儲存概覽,您可查看資料目錄、資料庫以及資料表的儲存分層分布情況。

廢棄檔案清理

由於作業報錯、重啟等原因,Paimon 表目錄下可能會遺留一些未被提交的臨時檔案。這些廢棄檔案未被任何快照引用,因此無法通過快照到期機制刪除,需定期進行清理。

廢棄檔案保留時間長度預設為7天,超過該時間的廢棄檔案將被視為到期並自動清理,因此DLF每7天觸發一次清理任務。

開啟/關閉智能儲存最佳化

說明

儲存最佳化頁簽僅在建立 Paimon 表時顯示。

  1. 登入資料湖構建控制台

  2. 資料目錄列表頁面,單擊Catalog名稱。

  3. 資料庫頁簽中,單擊目標資料庫名稱,查看資料表。

  4. 表列表中,單擊目標表名稱,查看錶欄位資訊。

  5. 單擊儲存最佳化頁簽,可看到智能儲存最佳化開關預設開啟,單擊image開關,即可關閉。

查看與配置儲存最佳化策略

Compaction

儲存最佳化頁簽,單擊Compaction,您可查看小檔案合并的執行情況,Rescale記錄,執行歷史等。

根據需求編輯策略模式:

動態資源模式(推薦)

系統根據即時負載自動Auto Scaling計算資源。此模式無需手動規劃容量,適用於流量波動較大的情境。
支援三種配置偏好:

  • 資源延時均衡:在合并速度與資源消耗之間尋求最佳平衡點(預設選項)。

  • 延時優先:分配更多資源以最快速度完成合併,降低資料可見度延遲。

  • 資源優先:限制資源使用率以降低計算成本,允許稍長的合并耗時。

    動態資源分派與擴縮容策略

    在動態資源模式下,系統依據即時負載與資料特徵,為主鍵表自動分配計算資源。資源分派量由以下核心因子決定,並在必要時觸發自動擴縮容。

    寫入輸送量
    寫入流量是資源分派的主要驅動力。寫入流量越大,系統分配的計算資源越多,以保障資料攝入的穩定性。

    活躍並發度
    當前處於活躍狀態的分區(Partition)與分桶(Bucket)數量直接決定資源需求。活躍的分區與分桶越多,系統將分配更多的平行處理資源。

    進階功能的資料規模
    當表啟用了 deletion vectors(刪除向量)或 lookup changelog producer 時,計算複雜度會提升。此時,活躍分區內的檔案總大小越大,系統分配的資源越多。

    資料行特徵
    極端的單行資料大小會增加處理開銷。無論是單行資料過小(如包含大量空值)還是過大(如包含超長字串欄位),系統都會適當增加資源分派以維持處理效能。

    小表資源最佳化策略

    針對小規模資料表,系統採用共用機制以降低資源開銷:

    當表配置為 自適應分桶(bucket = -2)且未開啟“延時優先模式”時,系統會將多個小表的最佳化任務合并為一個作業執行。這種多表共用機制能顯著降低整體資源佔用。

    資源監控與排查

    如需分析資源消耗情況,請前往資料目錄 > 資源概覽 > 資源請求指標明細中,查看CU * Hours Top 表榜單。

    說明

    如果發現單張表的資源用量異常偏高,通常是由於分區粒度過細所致。過細的分區策略會導致同時活躍的分區數量激增,從而迫使系統分配大量資源。建議檢查並最佳化分區策略。

固定資源模式

使用者手動指定用於 Compaction 的計算資源量。此模式適用於流量穩定或對成本控制有嚴格要求的情境。

  • 配置要求:計算資源(CU)配置不得低於 2 CU。

  • 參數設定:支援自訂 Compaction 觸發間隔及 Bucket 數。

查看執行情況

可以查看當前表的最佳化執行情況,支援自訂配置CloudMonitor訂閱警示,更多指標詳情與配置步驟詳情請參見湖表最佳化功能監控

查看Rescale記錄

記錄了資料表或特定分區進行“桶伸縮”(Bucket Rescaling)的歷史事件。它反映了表底層實體儲存體結構的變更情況。Rescale 機制主要用於解決資料量變化帶來的效能問題。通過Rescale記錄,可以判斷當前表是否是因為正在Rescale,從而沒有進入Compaction流程。

查看執行歷史

可以查看當前表的小檔案合并的執行歷史,它反映了系統如何處理片段檔案以最佳化讀取效能和儲存空間。可以通過此記錄來判斷:

  1. 確認任務運行:確保後台合并任務正常執行,防止小檔案無限堆積。

  2. 評估壓縮效率:通過對比合并前後的檔案數和大小,評估當前的 Compaction 策略是否合理。

到期快照清理

儲存最佳化頁簽,單擊Snapshot Expire,您可以配置快照清理規則並查看快照清理結果。

  • 配置快照清理規則

    單擊編輯,您可以設定快照保留時間(預設為1小時),單擊儲存,完成配置。

  • 查看快照清理結果

    • 當前Snapshot個數:即時顯示當前剩餘的快照數量。

    • 最早Snapshot資訊:展示表中最早的快照詳情,包括快照ID、提交時間、提交類型、表總行數以及本提交增加行數。

分區生命週期管理

儲存最佳化頁簽,單擊Partition LifeCycle,您可以進行分區清理規則配置、查看分區清理結果、儲存分層配置。

分區清理規則配置

  1. 單擊啟用分區清理右側的image開關,可啟用分區清理。

  2. 啟用分區清理後,您可根據業務需求進行以下規則配置,單擊儲存,完成配置。

    可以通過配置相應 table option 索引值對來完成配置。

    配置項

    說明

    到期策略

    partition.expiration-strategy

    可選擇以下到期策略:

    • 最近訪問時間(access-time):根據分區資料最近訪問時間,進行到期判斷。

    • 分區值(values-time):可以配置分區時間戳記格式和分區欄位模式。

      • 時間戳記格式(partition.timestamp-formatter):可配置例如yyyy-MM-ddyyyyMdddd/MM/yyyydd.MM.yyyy等。

      • 時間戳記模式(partition.timestamp-pattern):預設取第一個分區欄位,可配置例如 $dt 或者$year-$month-$day等。

    • 最後更新時間(update-time):按照最細粒度分區資料最後更新時間進行到期判斷。

    分區保留時間

    partition.expiration-time

    單位:天。可配置例如30d。最大可設定為999999天。分區保留時間根據所選到期策略,判定起始時間。

  3. (可選)儲存之後,也可單擊規則配置右側的編輯,進行再次修改。

說明

若您希望持續保留分區,則無需配置分區到期清理規則,系統預設不會自動清理分區資料。

查看分區清理結果

單擊點擊查看分區列表,可查看當前資料表的分區列表,包括分區名、行數(物理)、引用的檔案個數、總檔案大小、建立人、儲存類型、最新更新人、建立時間、最新動向時間及操作。

儲存分層配置

配置項

說明

智能儲存分層

image開啟後,系統將根據您配置的生命週期規則,自動對Catalog下所有表進行冷熱分層。請根據業務需求填寫分層策略和分層規則。

說明
  • 如果Catalog層級開啟智能分層,那麼Table層級的智能儲存分層會預設開啟(繼承自Catalog),並支援在Table層級修改配置。如果在表層級修改規則,則不再展示繼承自Catalog。

  • 如果Catalog層級未開啟智能分層,也支援在Table層級開啟,並支援修改。

分層策略

  • 最後訪問時間:根據表/分區資料最後訪問時間,進行規則判斷。

  • 最後更新時間:按照表/分區資料最後更新時間,進行規則判斷。

分層規則

不同儲存類型的最低儲存時間要求不同。

您可選擇性配置以下分層規則:

  • 轉換至低頻訪問儲存

    • 配置天數:自訂,預設30天。

      資料最後訪問時間超過該天數後,將會自動轉為低頻儲存。低頻儲存依舊可以被計算引擎訪問,但效能會有所下降。

    • 被訪問自動轉標準儲存:如果勾選,在表/分區被訪問時,系統會自動將該分區或非分區錶轉換為標準儲存。

      說明

      僅在分層策略選擇基於“最後訪問時間”時支援該功能。

  • 轉換至Archive Storage

    • 配置天數:自訂,預設60天。

      資料最後訪問時間超過該天數後,將會自動轉為Archive Storage。Archive Storage的資料,將無法被計算引擎訪問。

    • 被訪問自動轉標準儲存:如果勾選,在表/分區被訪問時,系統會自動將該分區或非分區錶轉為標準儲存。

      說明

      僅在分層策略選擇基於“最後訪問時間”時支援該功能。

  • 轉換至冷Archive Storage

    • 配置天數:自訂,預設180天。

      資料最後訪問時間超過該天數後,將會自動轉為冷Archive Storage。Archive Storage的資料,將無法被計算引擎訪問。

說明

除了智能儲存分層功能外,您還可以在表詳情頁面手動修改儲存類型。同時,您可以通過儲存概覽查看資料目錄、資料庫以及資料表的儲存分層分布情況。

廢棄檔案清理

儲存最佳化頁簽,單擊Orphan File Remove,您可查看廢棄檔案清理規則。例如,廢棄檔案的保留時間預設為7天(根據檔案寫入時間判斷),超過該時間的到期廢棄檔案將被系統自動清理。

手動修改儲存類型

  1. 資料庫列表中,單擊資料庫名稱,可查看錶列表。

  2. 表列表中,單擊表名稱,可查看錶欄位。

  3. 單擊表詳情頁簽,您可以手動修改分區表和非分區表的儲存類型。

    分區表

    分區列表頁簽,您可以對不同儲存類型的分區進行儲存類型修改操作。

    • 標準、低頻、Archive Storage類型的分區:

      單擊操作列的修改儲存類型,支援修改為除當前儲存類型外的其他儲存類型。

    • 冷Archive Storage類型的分區:

      需先解凍,待解凍完成並恢複為已解凍狀態後,才可以轉換儲存類型。具體操作如下:

      1. 單擊解凍,可配置解凍狀態期間,支援選擇分區批量解凍

        • 取值範圍:1~365 的正整數(單位:天)。

        • 預設值:1天。

      2. 當資料進入已解凍狀態時,單擊操作列的修改儲存類型,可修改為其他儲存類型。

    非分區表

    在表的基本資料中,您可以對儲存類型進行修改。

    • 標準、低頻、Archive Storage類型

      單擊儲存類型右側的修改,支援修改為除當前儲存類型外的其他儲存類型。

    • 冷Archive Storage類型

      需先解凍,待解凍完成並恢複為已解凍狀態後,才可以轉換儲存類型。具體操作如下:

      1. 單擊儲存類型右側的解凍,可配置解凍狀態期間

        • 取值範圍:1~365 的正整數(單位:天)。

        • 預設值:1天。

      2. 儲存類型變為冷歸檔(已解凍)後,單擊儲存類型右側的修改,支援修改為除當前儲存類型外的其他儲存類型。

    說明
    • 解凍消耗時間:是指解凍Object所消耗的時間。冷Archive Storage類型的解凍優先順序僅支援標準,解凍消耗時間為2~5小時內完成解凍。

    • 解凍狀態開始時間:是指分區內第一個冷Archive Storage類型的Object在完成解凍操作後,正式進入“已解凍”狀態的時間點。

    • 解凍狀態期間:是指分區內第一個冷Archive Storage類型的Object在完成解凍後,資料處於“已解凍”狀態的有效時間長度。待分區內所有Object均完成解凍後,您可以對分區進行正常的讀取、寫入或儲存類型轉換等操作。一旦解凍狀態期間結束,分區中的資料將重新回到冷歸檔狀態,無法直接存取,需要再次解凍才能操作。

    解凍過程

    1. 初始時,Object處於冷凍狀態。

    2. 使用者提交解凍請求後,Object處於解凍中狀態。解凍消耗時間請以實際為準。

    3. 服務端完成解凍任務後,Object進入已解凍狀態。對於表級儲存分層而言,當分區內所有對象均完成解凍後,該分區即可正常訪問。

      您可以通過調整分區解凍狀態期間來延長解凍狀態的總時間長度,但總時間長度不能超過該儲存類型允許的解凍狀態期間的最大限制。

    4. 解凍狀態期間結束後,Object再次返回到冷凍狀態,且不改變Object原有的儲存類型。若後續仍需訪問資料,則需重新提交解凍請求,並等待解凍完成。