全部产品
Search
文档中心

实时数仓Hologres:V4.2.0 Release Notes

更新时间:Jun 29, 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支持分区级别的锁机制,由表锁改为分区锁,缓解不同分区卡锁现象。

  • 逻辑分区表完成Beta,生产可用:逻辑分区表功能完成Beta阶段验证,正式进入生产可用状态。

运维与资源管理

  • 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,提升性能和召回效果。