当前位置:首页 > 技术文章 > 正文内容

数据库&大数据半年度迭代盘点:AI、多模、存算分离多点突破(中


大数据生态圈


Elasticsearch发布两个重要版本


Elasticsearch在2025上半年主要发布了两个重大版本,8.18.x与9.0.x,带来了诸多新的功能特性,如ES|QL支持索引联合查询LOOKUP JOIN;在性能上有大幅度提升,如Lucene 9升级到Lucene 10,BBQ(Better Binary Quantization)向量搜索技术。另外,针对7.17.x、8.16.x、8.17.x发布了多个修复版本,便于用户升级更新。


Elasticsearch 8.18.x应该是ES 8系列最后一个版本,之后ES 8 不会有新的大版本发布,后续会持续发布多个修复版本,为迁移升级到ES 9做适配。


Elasticsearch 7.17.x发布了一些修复版本,修复已知问题,为迁移升级ES 8做适配。


Elasticsearch 2025 上半年版本发布情况


1、LOOKUP JOIN多索引联合查询

  • LOOKUP JOIN在ES 8.18正式发布,在历史版本中,想在ES上实现宽表查询,需要在三方平台完成宽表拼接或者借助ES Ingest Enrich完成,这些方式都有一定的局限性,特别是查询数据实时性问题。
  • LOOKUP支持宽表查询,但是必须使用ES|QL查询语法,其它查询语法无法完成,ES|QL是新的查询引擎,性能上相较于过去有大幅度提升。
  • LOOKUP虽然支持多个索引联合查询,带来了诸多便利性,但跨多数据表联合查询依然会有性能瓶颈,在强调查询为主的场景下,宽表依然是最佳的解决方案。


2、Better Binary Quantization二进制量化

  • Better Binary Quantization(BBQ)是一种高效的向量压缩与搜索技术,首次出现在8.16预览版本中,在ES 8.18正式发布。
  • BBQ核心原理是通过binary二进制来替代float32量化存储,相比原有float32节约了95%的存储量,是一种极致的量化压缩技术手段。
  • BBQ在存储时量化速度同比快10倍以上,查询速度同比快2倍以上,非常适合大规模AI向量应用场景。


3、Semantic text语义文本字段类型

新增semantic_text语义文本字段类型,通过指定推理模型,直接将文本转换为向量类型,相比原有的dense_vector稠密向量与sparse_vector稀疏向量,在操作性上带来了一些便利,如向量转换、向量查询场景。


# 配置语义字段类型,指定推理模型
{
    "mappings": {
        "properties": {
            "inference_field": {
                "type": "semantic_text",
                "inference_id": "my-elser-endpoint-for-ingest",
                "search_inference_id": "my-elser-endpoint-for-search"
            }
        }
    }
}


4、Rank Vectors多组向量字段类型

  • 新增rank_vectors多组向量字段类型,容许给文档存储多组向量,而不是单个dense_vector稠密向量值,这些向量在检索阶段用于第二轮重排序,采用max-sim相似度函数完成,ES目前内置maxSimDotProduct脚本函数。
  • rank_vectors适合第一次用HNSW或BBQ做粗排,再用多向量maxSim做精排的场景。


# 单一字段配置多组稠密向量
{
  "dbaplus_vector" : [[0.5, 10, 6], [-0.5, 10, 10]]
}


5、Lucene 10

  • Elasticsearch内核全面升级到Lucene 10。
  • 并行化索引分段(segments)文件搜索。
  • 并行化I/O预读取机制,通过预读取阶段,避免搜索主线程阻塞,导致查询收到I/O研制。
  • 稀疏索引模式(sparse idexing),基于索引排序规则,可以节约大量的数据存储、减少CPU查询消耗。


6、JDK 24

  • Elasticsearch运行环境全面升级到jdk 24,以获得更好的性能。
  • jdk 24拥有诸多新功能特性,都是Elasticsearch需要使用的,如:结构化并发与虚拟线程,ES可以更好地控制任务并发;更强的native支持,可以更直接地获得原生操作系统与硬件的性能。


7、Elasticsearch MCP Server

Elasticsearch发布了官方的标准MCP Server,提供了比较简单的tools,基于NodeJS运行,非常便利AI场景使用,如果期望更多的使用MCP,可以基于此分支开发晚上更多特定的场景。


8、docs文档风格变化

Elasticsearch官方文档风格变化巨大,ES 9基于整体解决方案的思路,设计文档查看方式,相比ES 8更注重应用场景的解决方案能力,对于新手来说,是一个不小的挑战。



Apache Flink发布2.0.0版本


2025年3月24日,Apache Flink 2.0.0发布,引入了多项重要功能,具体如下:


1、分离式状态管理

Flink 2.0引入了分离式状态管理,提供了从运行时到SQL算子层的端到端体验,显著提升了性能和云原生支持。

  • 异步执行模型:
  • 无序数据处理:解耦状态访问和计算,实现并行执行。
  • 异步状态API:支持非阻塞性状态操作,减少延迟并提高资源利用率。
  • 语义保持:确保核心语义(如水位传播、定时器处理)不变,用户无需担心行为变化。
  • 更强大的SQL算子:
  • 重新实现了七个关键SQL算子(如Join和Aggregates),支持异步状态访问,提升吞吐量。
  • 用户可通过table.exec.async-state.enabled参数启用该功能。
  • ForSt分离式状态后端:
  • 专为云原生设计,解耦状态存储与计算,支持并行I/O操作,降低延迟。
  • 集成DFS,确保数据持久化和容灾能力,优化读写性能。


性能评估:

  • 在Nexmark基准测试中,重I/O的有状态查询吞吐量提升显著(75%-120%)。
  • 状态较小的查询性能平均下降不超过10%,展现了分离式架构的高效性。


2、流批统一

Flink 2.0在流批统一处理方面取得重要进展,提升了生产级可操作性和性能。

  • 物化表:
  • 支持表结构和查询语句的更新,无需重新处理历史数据。
  • 原生支持YARN和Kubernetes集群,便于生产环境集成。
  • 与Paimon集成,实现流批计算与高性能ACID事务的结合。
  • 自适应批处理执行:
  • 自适应Broadcast Join:动态切换Join策略,提升执行效率。
  • 自动优化数据倾斜:动态拆分倾斜数据分区,缓解长尾延迟。


  • 性能提升:
  • 在10TB TPC-DS基准测试中,性能提升8%-16%。


3、流式湖仓

Flink与Paimon的深度集成,提升了流式湖仓的实时处理能力。

  • Paimon数据源增强:
  • 支持嵌套投影下推,减少I/O开销。
  • Lookup Join性能提升,减少数据检索量。
  • Paimon维护操作:
  • 通过Flink SQL的CALL语句轻松执行维护操作,支持命名参数。


4、人工智能支持

Flink 2.0加强了与人工智能的集成,支持实时数据处理与AI模型结合。

  • Flink CDC 3.3:
  • 引入动态调用AI模型的能力,支持OpenAI模型。
  • 实现RAG技术在实时场景中的应用。
  • Flink SQL增强:
  • 支持定义和调用AI模型,无缝集成复杂数据处理逻辑。


5、API改进

  • DataStream V2 API:
  • 提供基础构建块和高级扩展,如窗口和Join。
  • 当前处于实验阶段,建议在生产环境中谨慎使用。
  • SQL Gateway:
  • 支持Application模式执行SQL作业,取代Per-Job模式。
  • SQL语法增强:
  • 支持C风格转义字符串。
  • 新增QUALIFY子句,简化窗口函数过滤。


6、非兼容性变更

Flink 2.0移除了多个旧API和功能,包括:

  • 移除的API:
  • DataSet API、Scala DataStream和DataSet API。
  • SourceFunction、SinkFunction、Source和Sink V1。
  • TableSource和TableSink。
  • 配置调整:
  • 移除旧版配置文件flink-conf.yaml,采用新格式config.yaml。
  • Java最低版本提升至Java 11,不再支持Java 8。
  • 其他变更:
  • 状态兼容性不再保证,需重新设计状态管理。
  • 移除Per-Job部署模式,推荐使用Application模式。


7、其他优化

  • 序列化改进:
  • 引入更高效的集合类型序列化器。
  • Kryo升级至5.6版本,提升性能和兼容性。
  • 连接器适配计划:
  • Kafka、Paimon、JDBC和ElasticSearch连接器将率先适配新API。



ClickHouse发布六个新版本


2025上半年,ClickHouse主要发布了24.12、25.1、25.2、25.3、25.4、25.5六个新版本,其中25.3是LTS版本,值得关注的更新具体如下:


1、JSON动态列作为表主键:在24.12 中,ClickHouse将每个唯一JSON路径的值以真正的列式存储方式进行存储,这种方式不仅提供了出色的数据压缩,还能保持与传统数据类型相同的查询性能。


2、Join的持续优化和改进:从24.12到25.5,ClickHouse通过指定并行Hash作为默认算法,自动重新排序,Join表达式优化,支持非等值JOIN等一些列功能演进,得到了TPCH结果的巨大优化。


3、ANN Vector Search in Beta:ClickHouse 25.5中的向量相似度索引功能现已从实验阶段升级为Beta阶段,并新增了对混合搜索中前置过滤和后置过滤策略的支持。


4、数据湖的集成:在24.12中,ClickHouse引入了对查询Apache Iceberg REST目录的支持。同时支持的还有Unity和Polaris目录,在之后的几个版本中又新增了对Delta RUST的内核集成以及支持AWS Glue and Unity。在25.4中,ClickHouse开始支持用户在外部托管的、持续更新数据集上运行无限数量的阅读器,这非常适合数据共享和发布,另外,ClickHouse也可以在Iceberg的历史快照中执行查询。


5、其他优化:

  • 提升查询性能:查询条件缓存(25.3),延迟物化(25.4),外部数据的自动化并行处理 (25.3)等。
  • 便捷使用:增加了Minmax Indice(25.1),表级别的默认压缩编码器(25.4)等。
  • 企业化功能:支持备份数据库引擎(25.2)。



Apache Doris发布最新稳定版本2.1.10


2025上半年,Apache Doris发布了最新稳定版本2.1.10,该版本持续在查询执行引擎、湖仓一体等方面进行改进提升与问题修复,其中值得关注的新功能有:


1、查询执行引擎:支持了更多的GEO类型的计算函数ST_CONTAINS,ST_INTERSECTS,ST_TOUCHES,GeometryFromText,ST_Intersects,ST_Disjoint,ST_Touches;支持years_of_week函数。


2、湖仓一体:Hive Catalog支持Catalog级别的分区缓存开关控制;Paimon、Iceberg版本依赖升级至最新。



SelectDB 2025上半年重要发布汇总


2025上半年,SelectDB发布了SelectDB Enterprise Core 2.1.8-2.1.10、3.0.5、SelectDB Enterprise Manager 24.1.4-24.1.5、24.2.0、24.3.0-24.3.1,以及全新免费管理工具SelectDB Studio 1.0.0、1.1.0-1.1.1。其中值得关注的新功能有:


1、SelectDB Enterprise Core

  • 湖仓一体:FE Metrics新增Catalog/Database/Table数量监控指标;MaxCompute Catalog支持Timestamp类型
  • 查询执行:新增URL处理函数:top_level_domain、first_significant_subdomain、cut_to_first_significant_subdomain;新增year_of_week函数,兼容Trino语法实现;percentile_array函数支持Float和Double数据类型
  • 存算分离支持重命名计算组(Rename Compute Group)


2、Enterprise Manager

  • 集群巡检功能Preview版本
  • Manager部署、升级等任务重构优化
  • 节点前置检查增加对JAVA_HOME有效性的检测
  • 节点启动、重启、批量重启增加前置检查
  • 主机监控的IO-Util和磁盘吞吐量按照具体磁盘显示
  • 集群升级备份数据提示文案优化
  • Studio支持获取版本号
  • Studio跳转提示优化
  • 新建集群优化节点元数据、存储、日志等目录生成逻辑
  • 主机界面新增Agent部署端口和路径的展示
  • 集群为非运行状态时,也允许设置自动拉起和FE代理地址
  • 优化Manager日志结构,去掉manager.out日志


3、SelectDB Studio

发布了Windows版本和Mac Intel芯片版本,对SQL控制台做了较大的更新,以及一些Bug修复和功能优化:

  • SQL控制台支持多行SQL查询
  • Profile支持原始Text格式显示
  • 支持REFRESH CATALOG
  • 支持白名单限制部分用户登录(Server 版本,运行在Cloud BYOC仓库上)
  • 用户/角色管理增加COMMENT



StarRocks发布3.4和3.5版本


StarRocks在2025上半年发布了3.4与3.5两个版本,持续提升性能与体验,并带来多项关键功能更新,覆盖AI场景支持、存算分离、数据湖优化等多个方向。


1、更强的AI场景支持

  • 引入Vector Index,支持IVFPQ和HNSW两种主流索引类型
  • 新增Python UDF,便于数据预处理、模型推理
  • 支持Arrow Flight协议,加速大批量查询结果传输,提升系统间协作效率


2、分区管理优化

  • 支持时间表达式分区合并
  • 支持通用分区表达式TTL,支持基于分区表达式定义分区的生命周期管理策略


3、ETL增强

  • 新增多语句事务(Multi-statement Transaction),实现完整的原子性和一致性保障


4、存算分离

  • 新增集群级Snapshot快找功能,提升灾备能力
  • 引入了批量导入优化功能,减少导入后查询波动及Compaction成本
  • 优化主键表内部修复逻辑


5、物化视图

  • 支持多列分区表达式
  • 支持分区级 TTL 策略
  • 透明查询改写增强


6、数据湖

  • Iceberg v2 equality delete读取优化,避免重复读,提升性能
  • 支持异步查询片段投递
  • 引入SLRU缓存淘汰策略,缓解缓存污染,提升命中率
  • 还优化了Data cache的自适应I/O策略
  • 新增Query Feedback功能,识别慢查询并给出调优建议
  • 查询模式优化,涵盖主外键裁剪、聚合下推、多列OR谓词下推等


7、湖仓生态

支持Iceberg Time Travel功能,允许用户创建或删除BRANCH和TAG,并通过指定TIMESTAMP或VERSION来查询特定分支或标签的数据



ByteHouse云数仓发布2.3 GA版本


一、ByteHouse云数仓


2025上半年,ByteHouse云数仓主要发布了2.3 GA版本,其中值得关注的重点特性有:

  • 负载弹性,通过实时感知负载,动态调配资源,高峰期自动扩容保障响应,低谷期智能缩容降低成本,避免资源瓶颈及浪费,实现计算资源动态优化,保障业务流畅并降本30%;
  • Binlog,通过实时数据订阅构建事件驱动的实时数仓,实现业务数据变更的瞬间同步与分析,助力企业提升决策效率、降低数据延迟损失并优化运维成本;
  • 向量检索,高效存储与检索文本/图片/视频等多模态非结构化数据的向量特征,实现向量/文本/标量数据混合检索;助力以图搜图转化率提升20%、跨模态搜索转化率提升40%,打破数据壁垒驱动AI应用落地;
  • 文本检索,支持多语言分词、倒排索引及关键词/词组/语义相似度检索;促进企业知识库检索效率提升30%、知识复用率提高40%,有效驱动企业知识管理与智能服务效率升级;
  • AI日志检索,通过AI模型自动分类日志问题、提供诊断修复建议及自动生成SQL精准检索日志,促进日志分析效率提升5倍,开发测试中问题定位效率提升80%,全面提升企业运维效率与故障应对能力。


二、ByteHouse企业版


2025上半年,ByteHouse企业版主要发布了25.3、25.4及25.5 GA版本,其中值得关注的新特性有:

  • MCP Server支持基于Faas Remote部署,实现LLM + ByteHouse对接与协同。可为ByteHouse数据开发、查询优化、集群运维提供全生命周期智能化服务;
  • 智能巡检功能可实现集群重点指标按需配置关注,并自动生成巡检报告;
  • Auto MV支持单表或多表异步物化, 数据处理链路效率大幅提升;
  • 集群扩容能力便捷性显著提升,体验更加流畅;
  • 非结构化数据向量检索场景能力不断增强,在性能、便捷性和易用性方面表现更优;
  • 支持为集群设置白名单以管理集群访问权限,实现精细化访问控制;
  • 新增支持表统计信息收集功能。该功能通过收集集群内表的统计信息,助力用户查看、分析集群中的表信息,用户可依据这些信息采取优化措施,实现集群性能的提升。


三、国产数据库

四、云数据库
请见《数据库&大数据半年度迭代盘点:AI、多模、存算分离多点突破(下)》

相关文章

2024年10 大 Linux 桌面发行版推荐

年已过半,现在是探究 2024 年最流行的 Linux 发行版的最佳时机。Linux 是一个开源操作系统,构建在 Linux 内核上,并集成了 GNU shell 实用程序、桌面环境、应用程序、包管理...

崩溃!3 道 React 面试必卡题,吃透稳过金九银十

凌晨三点还在对着 “React 组件为什么重复渲染” 抓耳挠腮?别慌!今天挑出 3 道让 90% 候选人卡壳的高频题,全是大厂面试官挖的 “坑”,手把手教你见招拆招,看完直接装进面试 “弹药库”!先问...

Vue3开发极简入门(15.1):emits补完-结合v-model

之前代码是通过按钮触发emit,如果希望输入框里的内容在输入之后也能同步到父组件,就可以结合v-model的update事件来操作,具体如下。Son2.vue:<template>...

「 VUE3 + TS + Vite 」父子组件间如何通信?

组件之间传值,大家都很熟悉,涉及到 VUE3 +TS 好多同学就无从下手了,所以分享这篇文章,希望看完后提起 VUE3+TS 能够不慌不忙。平时使用的函数如:ref、reactive、watch、co...

GitLab-合并请求(gitlab合并请求合并者还原图解)

描述合并请求可用于在您对项目进行的其他人员之间交换代码,并轻松与他们讨论更改。合并请求的步骤步骤1-在创建新的合并请求之前,GitLab中应该有一个创建的分支。您可以参考本章来创建分支-步骤2-登录到...

使用GitLab实现CICD(gitlab配置cicd)

GitLab CI/CD 是一个内置在GitLab中的工具,用于通过持续方法进行软件开发:Continuous Integration (CI) 持续集成Continuous Delivery (C...