全部產品
Search
文件中心

Hologres:使用Serverless Computing執行Compaction任務

更新時間:Aug 05, 2025

Hologres的檔案合并(Compaction)任務通常會佔用執行個體的計算資源,可能影響其他讀寫請求。自Hologres V3.1.11版本起,支援在使用Serverless資源執行資料匯入的同時,利用同一份Serverless資源同步完成Compaction操作,從而避免佔用執行個體計算資源,保障其他任務的效能。

使用方法

-- Session層級使用
SET hg_serverless_computing_run_compaction_before_commit_bulk_load = on;

-- User層級使用
ALTER USER "<role_name>" IN DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = on;

-- DB層級使用
ALTER DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = on;

使用限制:

  • 該功能會少量增加資料匯入時間長度,但可極大提升執行個體穩定性。

  • 僅支援對新資料檔案的同步Compaction。如果表存在舊檔案TTL到期需Compaction清理檔案,仍會使用本執行個體資源非同步執行。

  • 同步Compaction僅支援匯入熱存(標準儲存),暫不支援匯入冷存(低頻訪問儲存)。

使用樣本

通過HoloWeb一鍵匯入公用資料集功能,匯入TPC-H 100 GB資料集。

  • DB層級關閉本功能,而後執行公用資料集匯入任務。

    ALTER DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = off;
  • DB層級開啟本功能,再次執行同一個公用資料集匯入任務。

    ALTER DATABASE <db_name> SET hg_serverless_computing_run_compaction_before_commit_bulk_load = on;

兩次匯入任務均完成後,觀察執行個體的監控指標,可見匯入任務在正常使用Serverless計算資源執行,同時Compaction任務完全沒有使用本執行個體計算群組的計算資源。

  • 計算群組CPU使用率

    image

  • 匯入任務QPS

    image

  • Serverless Computing資源使用率

    image