release-2.31
功能更新
-
查询拦截策略:通过禁止查询、强制命中投影或要求字段过滤条件,限制表和视图的查询访问,避免不符合要求的查询直接访问源端数据。
-
跨源映射:通过物理表及字段间的双向映射,为跨源关联查询寻找可下推的执行方案。映射独立于导出任务,两端数据的业务一致性需由配置者保证,详见数据导出与跨源映射。
-
文件数据追加:File 数据源支持将新文件中的数据按字段映射追加到已有表,保留历史记录,并通过更新记录追溯文件数据变化。
-
文件存储配置:上传文件支持使用指定的 HDFS 或 S3 数据源作为存储位置,便于复用已有存储连接配置。
-
视图变更预分析:提前识别逻辑视图变更对直接下游视图及关联投影的影响,并辅助调整可自动处理的投影配置,降低变更对查询加速的影响。
-
视图变更通知:将逻辑视图变更及其影响通知相关使用者,结合下游反馈跟踪处理进展,帮助上下游及时协调变更。
-
字段描述维护:支持从 SQL 注释提取字段描述并识别与现有描述的差异,减少人工维护成本,完善数据集的业务说明。
-
源表删除感知:自动标识源端已删除的表及发现时间,帮助识别失效资产;源表恢复并重新采集后,标识自动解除。
-
元数据采集:支持中止不再需要的采集任务,减少无效采集对数据源和平台资源的占用。
-
投影更新范围:支持仅刷新当前投影或联动刷新全部下游投影,满足局部更新与依赖链整体更新的不同需求。
-
投影告警:监测明细投影和聚合投影的报错、超时、未触发及未完成情况,及时通知相关人员,帮助发现影响数据时效的异常。
-
投影统计:通过行数、存储空间、查询命中和构建命中统计,以及集群投影 Top 10 排行,帮助评估投影使用效果和存储资源占用。
-
投影构建诊断:结合候选与命中投影、实际读取的数据源、执行计划及下推写入耗时,帮助分析构建路径和性能瓶颈。
-
查询诊断:集中收集执行计划、规划信息、投影匹配日志及相关元数据,形成诊断报告,帮助定位查询规划和加速命中问题。报告基于当前元数据重新执行
EXPLAIN生成,不执行底层数据查询。 -
DN 并行读取:支持分析 Huawei DWS 和 GaussDB 表的 DN 节点数据分布;Spark 读取 GaussDB、openGauss 和 Huawei DWS 时,可按实际 DN 节点自动分片,简化并行拉取配置。
-
SQL 语法与函数:新增
PIVOT行转列语法,便于生成交叉汇总结果;新增精确百分位聚合函数PERCENTILE_CONT(x, p),完善APPROX_PERCENTILE的多数据源适配,满足中位数及分位数分析需求。函数下推能力取决于目标数据源类型、版本及参数。 -
Open API:为外部系统提供 SQL 查询及结果获取、行级数据访问控制和投影管理能力,便于集成 AIR 查询与加速服务,并在查询记录中识别 Open API 请求。详见 SQL 查询接口、行过滤接口及投影接口。
优化功能
- 物化改写:优化候选投影的匹配顺序,减少无效候选的重复匹配,提高查询规划效率。
- 物化结构兼容性:源表字段结构变化时跳过不兼容的旧物化计划;兼容
VARCHAR长度变化,并保留显式CAST的转换语义。 - 物化清理:修复物化记录与物理表清理不一致的问题,避免物理数据未清理成功时提前移除元数据。
- SQL 兼容性:修复关联子查询、
JOIN ON子查询和VALUES标量解析问题;修复 OracleCHAR转VARCHAR的尾部空格与长度处理、SQL Server 布尔表达式和嵌套CASE翻译,以及 Spark 字符串单引号转义。 - SQL 下推:支持 AnalyticDB MySQL 的
FULL JOIN下推,补充 MySQL 8 和 AnalyticDB MySQL 的部分REGEXP_EXTRACT下推场景,并修复 StarRocks 正则函数兼容性判断。 - 方言视图:修复
OR REPLACE的替换判断及鉴权问题。 - 查询与任务稳定性:修复内表 Spark
INSERT任务无法取消、Trino HTTP 协议响应兼容和默认集群标记在多节点间同步的问题。 - 元数据与系统表性能:优化 MongoDB 索引初始化、元数据查询及采集写入开销;优化系统表字段裁剪、按需生成结果和查询计划,减少不必要的数据读取。
- 数据源兼容性:完善 Snowflake 元数据采集;修复 Doris 表与字段注释采集、飞书 Sheet 富文本解析和整表读取超限,支持按范围分页读取飞书表格;补齐 JDBC 连接池的按源类型校验。
- 模型关系图:以图形呈现模型中的表关系、连接方式及基数,帮助理解和核对模型结构,并完善异常关系提示及
MANY_TO_ONE基数方向映射。 - 数据空间与导出任务:通过数据空间描述补充业务背景,改善视图列表的信息展示,并优化导出任务的记录刷新和来源资产追溯体验。
- 安全性:加强日志凭据脱敏,移除管理员密码默认值并增加启动校验,新注册用户的 Tardis JDBC 初始密码改为随机生成,同时升级相关安全依赖。
升级注意事项
-
运行环境:Tardis、平台后端 dwstardis 和元数据采集 SDK Levin 升级至 JDK 21,dwstardis 升级至 Spring Boot 3.3.6。升级时需同步检查对应服务的运行镜像、JVM 参数和依赖兼容性;Spark / Kyuubi 中运行的 Catalog SDK 仍沿用其现有运行时要求。
-
管理员配置:部署 dwstardis 前,需在私有配置中显式设置
air.admin.password;未设置或为空时,服务启动校验不通过。 -
跨源映射行为调整:导出任务不再自动创建或维护查询副本映射,历史由导出任务管理的映射不再参与查询替换。已有环境如依赖此能力,应先核对两端数据及完整字段关系,再在跨源映射中手动登记和启用;未迁移时查询回退至原表,执行方式和性能可能变化。手动映射启用后,不再随导出任务失败或停用而自动暂停。
-
查询诊断部署:已有 dwstardis 数据库需执行随版本提供的
start/src/main/resources/script/upgrade_query_diagnostics.sql。诊断报告保存在实际收集节点的本地目录,需确保目录可写,且 dwstardis 可访问该节点的 HTTP 地址;报告默认保留 7 天。如已配置旧参数query.diagnostics.log-directory,升级时应移除,诊断日志收集统一跟随log.output-dir。