全部產品
Search
文件中心

Hologres:V4.2.0 Release Note

更新時間:May 15, 2026

本文為您介紹Hologres V4.2.0版本的新特性和預設行為變更資訊。

查詢最佳化與效能

本次4.2版本在查詢最佳化方向完成QE V2多情境覆蓋,新增多項CTE計劃改寫規則,同時最佳化Fragment Instance和Scan Filter的複用機制,顯著提升查詢吞吐和過濾效率。

  • 查詢引擎V2(QE V2)支援能力增強:從3.1版本上線的QE V2執行引擎在本版本新增支援Nested Loop Join、兩階段Broadcast、Lookup Join、SQE(外表直讀)、自適應Bulkload DOP等情境。

  • Cross Join支援Runtime Filter:支援將標量子查詢計算的彙總結果下推給probe端大表提前過濾,通過Runtime Filter在掃描階段直接過濾不滿足條件的行和RowGroup,減少大量無效IO。

  • 檔案內並行掃描:將單個ORC檔案按split_size_mb切成多個sub-split,由多個NiagaraScan並發讀取,解決大檔案下標量掃描退化為單檔案單並發的效能問題。GUC:hg_experimental_enable_parallel_file_scan(預設關閉)。

  • 向量TopK Scan改寫:解決向量查詢和標量OLAP查詢對檔案大小訴求相反的矛盾,通過計劃改寫使大檔案情境下向量查詢繼續受益,標量查詢效能盡量保持不變。

  • Scan Filter複用:在Scan運算元執行過濾時,原地複用Filter減少記憶體配置和計算開銷。典型過濾率5%–20%下效能提升超過100%,50%過濾率下提升超過200%。GUC:hg_experimental_qe_v2_enable_reuse_filter(預設開啟)。

  • Fragment Instance複用:最佳化Fragment Instance生命週期管理,消費完split後重設狀態繼續消費下一個split。多檔案情況下記憶體成本為0,CPU成本僅為建立的41.8%。GUC:hg_experimental_qe_v2_enable_reuse_fragment_instance(預設開啟)。

  • 重複Project下推:部分project計算會被等價下推以降低整體計算開銷,通過提早裁剪中間運算元不需要的列來減少資料寬度。GUC:hg_experimental_enable_push_down_project(預設開啟)。

  • 重複Pattern自動抽取CTE:當一個SQL pattern重複達到閾值時自動抽取為CTE,減少重複掃描開銷。GUC:hg_enable_extract_common_plan_to_cte(預設開啟)。

  • Agg下推至CTE Producer內部:當CTE Consumer上方的Agg壓縮率超過閾值時,將Agg下推至CTE Producer,提前壓縮資料,減少中間資料量。GUC:hg_experimental_enable_push_agg_into_cte_producer(預設開啟)。

  • 簡化下推至CTE內部的Predicate:CTE Consumer上方Filter使用相同列且CTE個數小於閾值時,簡化下推的Predicate。GUC:hg_factorize_pushed_cte_predicates_threshold(預設4)。

  • Runtime Filter等價列推導:從等式條件推出等價列,多利用一個條件進行Runtime Filter產生,提升過濾效果。

  • Shuffle下推合并:當存在多層相同首碼的Hash Shuffle時,只在最底層做一個hash key數量少的shuffle,刪除冗餘的中間shuffle。GUC:hg_experimental_enable_push_down_merge_shuffle(預設開啟)。

  • 為Join Order增加調整scale_factor策略:當join運算元數量大於等於閾值時,調整scale_factor得到更優的join order。GUC:hg_experimental_adjust_scale_factor_for_join_order(預設開啟)。

  • Hologres PG Function增強:將PQE上的函數遷移到新架構執行,支援包含JSON/JSONB常用函數在內的300+個函數下推到HQE執行,極大提升查詢效能並提升執行穩定性。

資料接入與匯入

  • Internal Stage寫入最佳化:新增資料庫刪除重建時Stage目錄自動清理能力,消除儲存冗餘風險。新增Pangu IO限流能力增強,實現針對單worker的IOPS/吞吐嚴格限制。

  • Paimon FileSystem Catalog:支援通過Paimon FileSystem Catalog訪問Paimon表,簡化資料湖表管理,滿足線下IDC與雲上資料同步的混合雲情境需求。

  • External Files Schema推斷:支援對外部CSV和ORC檔案自動推斷Schema,降低外部表格配置成本。

  • 支援Paimon Blob類型讀寫:通過DLF支援Paimon Blob類型的讀寫,映射到PostgreSQL生態的bytea類型,支援AI Function對於Paimon Blob的多模態資料加工。

  • 資料湖HiveQE與FSE鏈路合并:合并資料湖HiveQE和FSE查詢引擎鏈路,查詢效率提升30%以上。

資料加工與物化

  • Dynamic Table增量模式支援TopN資料加工:增量Dynamic Table的SQL定義中可使用ROW_NUMBER() OVER (...)視窗函數進行TopN篩選,重新整理模式自動推導為增量模式。

  • 增量Dynamic Table讀Change支援合并訊息:增量Dynamic Table消費Change時支援正負訊息合并,減少不必要的重新整理開銷。

  • Cron Job定時任務:支援使用者自訂定時任務(Cron Job),支援hg_register_cron_job、hg_alter_cron_job、hg_drop_cron_job等函數,可指定schedule/interval、warehouse資源和自動重試策略。

AI與多模檢索

  • AI Function支援百鍊:AI Function新增對百鍊平台的接入,支援LLM、LLM-VL、embedding、qwen-vl-ocr、qwen-mt系列模型,覆蓋大模型推理、文本embedding、視覺理解、OCR、翻譯等典型情境。

  • 新增AI Function ai_transcribe:新增語音轉文字的AI函數AI_TRANSCRIBE(model, audio_file[, options]),將非結構化音頻資料轉化為結構化文本。

  • AI_Embed函數支援二進位輸入:ai_embed函數新增對BYTEA內容和Paimon Blob類型資料的支援,可直接對位元據執行embedding,支撐多模檢索、圖片相似性檢索等情境。

  • 全文檢索索引支援模糊查詢和搜尋時分詞器參數:全文檢索索引新增模糊比對功能(fuzzy query),支援模糊查詢情境。支援搜尋時分詞配置參數search_analyzer_params。

  • 全文索引格式最佳化與效能最佳化:索引格式從單Segment改為多Segment,支援大檔案的高效能索引並發訪問。降低全文索引構建時的初始記憶體使用量量。提高搜尋字詞命中率低情境下的檢索效能,特定情境可加速3X+。提高pinyin tokenizer和filter的分詞效能,吞吐提升25%~150%。

資料類型與相容性

  • 支援Decimal 256:DECIMAL精度範圍從38擴充到76位(支援DECIMAL(76, 38)),滿足金融、財務等情境的高精度計算需求。支援基本運算函數、彙總函式以及常用運算式,且支援在Dynamic Table的增量重新整理中使用。不支援作為distribution key、cluster key或partition key。

儲存與引擎

  • 新增Liquid Table支援資料不停寫不停讀即可修改Shard數:支援建立Liquid Table,並通過ALTER TABLE動態修改表的Shard數。修改期間寫請求延遲增加但不會失敗,讀請求延遲無影響。降級到V4.1版本前需刪除Liquid Table。

  • 表層級Snapshot支援Lazy-Load:超出個數限制的snapshot會從記憶體刪除,查詢時從meta tablet load。開啟stream的表也支援建立snapshot。

  • 減少Hologres表相關的磁碟檔案:移除FE側為每個表建立的空檔案,提升FE啟動速度。

  • 分布式Ephemeral Storage:新增分布式臨時儲存能力,Stage execution sink支援寫入EphemeralStorage,最佳化中間結果的儲存和管理。

  • 邏輯分區表Serverless Computing情境支援分區鎖:Serverless Computing情境下多分區並發DML支援分區層級的鎖機制,由表鎖改為分區鎖,緩解不同分區卡鎖現象。

營運與資源管理

  • HBO准入限制放鬆:大Query判定閾值從20s變為1s,大Query一定會寫統計資訊。使HBO能覆蓋更多Query,最佳化效果更精準。

  • Stage執行系統資料表增強:對齊現有refresh activity能力,增加serverless allocated cores等資料欄位,增加stage count等資訊,協助使用者理解和預期執行進度。

預設行為變更

  • 表統計資訊(table_info)row_count欄位邏輯修改

    • 變更內容:使用statistics v2計算row_count。新方案基於檔案中繼資料統計,相比老方案,在TTL到期、頻繁Update等情境下更穩定。

  • Common Table鏈路直讀MaxCompute預設開啟auto split

    • 變更內容:從4.2開始CommonTable預設開啟auto split功能。GUC:hg_experimental_enable_maxcompute_sdk_auto_split_size。如遇異常可通過GUC關閉。

  • 資源回收筒刪除操作Cancel正在執行的Query

    • 變更內容:4.2資源回收筒刪除操作會Cancel掉正在對該表執行的DML和DQL操作。

    • 影響範圍:Drop Table到資源回收筒時,正在對該表執行寫入或查詢的Query會被Cancel並失敗。

  • 系統資料表許可權變更

    • 變更內容:pg_catalog下所有表,superuser不再有DML許可權。

    • 影響範圍:依賴pg_catalog表DML操作的指令碼或工具會失敗。

  • TTL最小值約束行為變化

    • 變更內容:新增GUC參數hg_time_to_live_in_days_min_value控制time_to_live_in_seconds的最小值。預設值為36500天,即建立表時TTL設定不能小於36500天(100年)。

  • numeric函數精度推導變更

    • 變更內容:PQE中numeric相關函數新增精度推導能力。精度保留由直接截斷改為四捨五入。

  • 外表Fast Rows預設開啟及外表Fast Rows分區數調整

    • 變更內容:對查詢中出現的無統計資訊的外表,會在Query執行前預設增加一步擷取Fast Rows的過程。

  • 全文檢索索引預設分詞器調整

    • 變更內容:全文檢索索引建立索引時,預設分詞器從jieba改為ik,提升效能和召回效果。