doris404发版

摘要:Apache Doris 4.0 作为一个重要里程碑正式发布,引入了原生向量检索、AI 函数以及全新的混合检索与分析处理(HSAP)架构。此后,社区通过 4.0.1 至 4.0.4 四个版本快速演进,本文总结了这四个版本中引入的关键新特性。

Apache Doris 4.0.4 现已正式发布,该版本相较于其他 4.0.x 版本,更为稳定、可靠。Apache Doris 4.0.4 版本囊括了 4.0.1 至 4.0.4 四个版本中所有的优化及增强功能。该版本的发布,标志着其从实时分析领域迈向广阔的数据管理领域,以应对由生成式 AI 和基于 Agent 系统所驱动的数据管理格局变化带来的数据新挑战。

1. 面向 AI 工作负载的混合搜索能力

检索正在成为现代数据平台的核心分析负载,涵盖日志检索、可观测性、文档检索及上下文工程等领域。Apache Doris 在 4.0.X 的每个版本中持续增强其原生搜索能力。

更丰富的查询语法

SEARCH() 函数现已支持短语查询、通配符查询和正则表达式查询(4.0.1),用户可以直接在 SQL 中执行复杂的文本检索。

SQL 复制代码
SELECT * FROM logs
WHERE SEARCH(message, 'timeout* OR "connection error"');

在 4.0.3 版本中,该函数进一步增强了 Lucene 布尔模式,将 Elasticsearch 风格的布尔查询语义(must / should / must_not)引入到基于 SQL 的搜索中。

在 4.0.4 版本中,引入了 BM25 分数范围过滤(min_score 语义),允许用户按相关性分数筛选搜索结果,仅保留最匹配的条目------非常适合搜索推荐和智能检索场景。

灵活的多字段搜索

Apache Doris 4.0.1 中引入了两个新参数:

  • default_field: 指定搜索的默认列
  • default_operator:控制多列查询的布尔运算符(AND 或 OR)

用户现在可以更方便地执行多字段搜索,而无需编写复杂的 SQL 表达式。

JSON 字段搜索

SEARCH() 函数现在支持通过点表示法直接查询 Variant 类型的子列(4.0.1):

SQL 复制代码
SEARCH(event.payload.error:timeout)

这对于事件数据和日志分析尤为实用,因为这些场景中 JSON 被广泛使用。

单列支持多个分词器索引

单列现在支持创建多个分词器索引(4.0.4)。这使得不同查询场景可以采用不同的分词策略,如多语言搜索、n-gram 采用不同的分词策略,从而显著提高文本搜索的灵活性和质量。

倒排索引增强

在 4.0.x 版本中,倒排索引获得一系列基础能力的提升:

  • 支持拼音分词器和过滤器的自定义分词器(4.0.2):通过包含字符过滤器、基本分词器和 ICU 分词器的完整分析能力,以应对中文拼音搜索场景。
  • 支持 NORMALIZER (4.0.3):在索引前对字段值进行规范化处理(如忽略大小写与特殊重音符号),提升搜索精度。
  • 索引格式默认升级到 V3(4.0.1):提高了读写性能和存储效率。
  • 支持多位置 PhraseQuery (4.0.2):支持位置感知的短语匹配,并可配置词项距离约束。

ANN 向量索引:仅索引扫描

ANN(近似最近邻)索引现在支持 仅索引扫描模式(4.0.2),允许向量搜索直接从索引中解析结果,而无需扫描表数据。这在大规模向量检索场景中显著降低了 I/O 开销。

2. 扩展 SQL 与分析能力

空间函数

在 4.0.4 版本中新增了三个空间函数:

  • ST_Distance:计算两个几何对象间的距离
  • ST_GeometryType:返回几何对象的类型(Point、LineString、Polygon 等)
  • ST_Length:计算 LineString 的总长度

这些功能使基本地理空间分析用例(如基于位置的分析、路线测量和地理报告)能够直接在 SQL 中实现,无需外部 GIS 工具。

增强型时间处理

两项改进简化了 BI 工作负载中常见的时间分析:

  • **PREVIOUS_DAY()**函数 (4.0.4):返回指定日期之前最近一个工作日的日期,适用于财务报告和基于日历的业务逻辑。
  • 更多 **INTERVAL**时间单位 (4.0.4):INTERVAL表达式现在支持更多的时间粒度,从而能够进行更灵活的时间窗口计算。

4.0.x 版本中新增的时间函数包括TIME_FORMAT(4.0.3)、兼容 MySQL 的UTC_DATE、UTC_TIME、UTC_TIMESTAMP(4.0.1)、INTERVAL函数支持(4.0.3),以及add_time/sub_time(4.0.2)。

改进的哈希函数

在 4.0.1 版本中新增了两个哈希函数:

  • mmh64_v2:生成与第三方库一致的 MurmurHash64 结果,适用于跨系统数据一致性检查和分片逻辑
  • json_hash:为 JSONB 类型生成哈希值,支持 JSON 数据的去重和比较

物化视图:更智能的透明加速

物化视图在 4.0.2 版本中得到了多项重要改进:

  • 非分区基表发生变更时,仍支持透明改写:此前,基表的任何数据变更都会将物化视图标记为不可用。现在,系统会智能评估重写是否仍然有效,从而减少维护开销,提升了近实时场景下的可用性。
  • 支持基于视图创建 MTMV:现在可以在普通视图之上构建物化视图,扩展了其适用性。
  • 支持多 PCT 表:MTMV 刷新支持多个分区变更跟踪(PCT)表,提高了多表物化视图的刷新效率。
  • 支持窗口函数重写:即使物化视图中包含窗口函数,查询现在也能命中物化视图改写,覆盖了更多分析查询模式。

PostgreSQL 分区表同步

Streaming Job 现在支持实时同步 PostgreSQL 分区表 (4.0.4),实现了以 PostgreSQL 作为事务源、Doris 作为分析目标的 HTAP 架构。

3. 增强的半结构化数据处理

在现代分析负载中,半结构化数据持续快速增长。

VARBINARY 类型新增函数

Doris 为现有的 VARBINARY 类型新增了四个内置函数(4.0.1):

  • length:返回二进制值的字节长度
  • from_base64_binary:将 Base64 字符串解码为二进制值
  • to_base64_binary:将二进制值编码为 Base64 字符串
  • sub_binary:从二进制值中提取子字节序列

这些函数使得直接在 SQL 中处理二进制数据(如编码载荷或序列化格式)变得可行,无需往返于应用代码。此外,VARBINARY 类型映射支持已扩展至 Hive、Iceberg、Paimon 和 JDBC 外表(4.0.2),减少了从外部源读取二进制列时的类型不兼容错误。

JSON 处理增强

引入多个函数来改进 JSON 规范化和哈希(4.0.1):

  • sort_json_object_keys:对 JSONB 对象的键进行排序,使 JSON 比较具有确定性
  • normalize_json_numbers_to_double:将 JSON 中的数值规范化为 double 类型,简化跨系统比较
  • json_hash:为 JSONB 数据生成一致的哈希值

这些功能使 JSON 去重和比较更加简便和可靠。在 4.0.2 版本中,JSON/JSONB 类型增加了对 GROUP BY 和 DISTINCT 的支持,允许 JSON 字段直接参与聚合和去重,而无需进行类型转换。

4. 更强大的湖仓一体集成

Iceberg 元数据可见性

新增支持了 Iceberg 系统表 all_manifests(4.0.4),允许用户直接通过 SQL 查看 Iceberg 的清单元数据。这极大地简化了问题排查、存储审计和元数据诊断。此外,4.0.3 版本引入了清单级缓存,以减少频繁查询大型 Iceberg 表时重复的元数据 I/O 开销。

Iceberg 快照管理

4.0.4 版本实现了 expire_snapshots 存储过程,允许用户按计划清理 Iceberg 旧快照。这有助于控制元数据增长,降低存储成本,是长期运行 Iceberg 表的重要数据治理工具。

Iceberg 表优化

rewrite_data_files 操作已在 4.0.2 版本中实现(通过 ALTER TABLE ... EXECUTE 语法触发),支持对 Iceberg 表进行小文件合并和数据重组。这解决了频繁写入导致的数据碎片化问题,并提升了后续查询性能。同时,4.0.2 版本新增了对分区演进 DDL 的支持,允许在不重建表的情况下更改分区策略。

Schema 演进支持

Doris 现在支持对 Iceberg 外表中的复杂类型(Array、Map、Struct)进行 Schema 变更(4.0.4),使外表元数据能够与不断演进的 Iceberg Catalog 架构保持同步。

更广泛的存储和身份认证支持

  • AWS CredentialsProviderChain(4.0.3):通过标准 AWS 凭证链加载 Catalog 凭证,支持 IAM Roles、环境变量和 EC2 实例配置文件,简化云部署中的权限配置。
  • Paimon DLF Catalog + OSSHDFS(4.0.3):通过阿里云 DLF 管理 Paimon Catalog,并支持 OSSHDFS 存储,适配典型的阿里云湖仓部署模式。
  • 支持 Apache Ozone (4.0.4):原生支持 Apache Ozone 对象存储,为企业部署提供了除 HDFS 外的开源存储选择。
  • OSS bucket-domain-name(4.0.4):支持阿里云 OSS 的 bucket-domain-name 配置,满足企业私有域 OSS 访问场景。
  • MaxCompute RAM Role 认证(4.0.4):MaxCompute 外表现已支持 ram_role_arn 和 ecs_ram_role 认证模式,增强了云原生部署的安全访问能力。
  • libhdfs3 DataNode 主机名支持(4.0.4):支持 dfs.client.use.datanode.hostname 配置,解决了在 Hadoop 环境中 DataNode 通过主机名而非 IP 通信时的连接问题。

以上是 Apache Doris 4.0.x 系列的主要特性概览,更多细节请参阅官方文档:doris.apache.org/docs/4.x/re...

Apache Doris 4.0.4 由超过 200 位社区贡献者共同构建。欢迎加入 Apache Doris 微信交流群,共同参与下一版本的开发。

上述更新特性 SelectDB 即将同步支持。如果你想快速体验这些新特性,可以访问SelectDB 官网申请免费试用,或继续使用开源 Apache Doris 自行部署。

相关推荐
Navicat中国1 小时前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
歪歪歪比巴卜2 小时前
投放做完到底有没有用?三步对比法量化营销前后的社媒表现
数据分析·新媒体运营·流量运营·品牌营销·品牌分析
知了学历孙老师3 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
XCDoris3 小时前
郴州logo设计机构
大数据·人工智能·python
物联网软硬件开发-轨物科技4 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
waoooqwe5 小时前
有没有自带问卷互填社区的问卷平台?
数据分析·问卷调研·问卷收集·样本收集
zyseo85 小时前
谷歌SEO 准首页词挖掘脚本:找出排在第 8-20 名的隐藏流量
大数据·数据库·人工智能
xiaogai_gai7 小时前
仅查询策略实战:从金蝶云·星空旗舰版定时拉取收料通知单
大数据·数据库·python
databook7 小时前
使用命令行做描述性统计的技巧
数据分析·命令行
数据工匠老o7 小时前
异构数据库DDL同步:260条链路的结构变更自动适配方案
数据库·架构