数据库&大数据半年度迭代盘点:AI、多模、存算分离多点突破(中
liuian 2025-08-06 21:03 60 浏览
大数据生态圈
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、多模、存算分离多点突破(下)》
相关推荐
- 教你把多个视频合并成一个视频的方法
-
一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...
- 零代码编程:用kimichat合并一个文件夹下的多个文件
-
一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...
- Java APT_java APT 生成代码
-
JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...
- Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器
-
在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...
- 挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?
-
如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...
- 五年后,谷歌还在全力以赴发展 Kotlin
-
作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...
- kotlin和java开发哪个好,优缺点对比
-
Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...
- 移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?
-
掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...
- 颜值非常高的XShell替代工具Termora,不一样的使用体验!
-
Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...
- 预处理的底层原理和预处理编译运行异常的解决方案
-
若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...
- 为“架构”再建个模:如何用代码描述软件架构?
-
在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...
- 深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型
-
2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...
- 比分网开发技术栈与功能详解_比分网有哪些
-
一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...
- 设计模式之-生成器_一键生成设计
-
一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...
- 构建第一个 Kotlin Android 应用_kotlin简介
-
第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
python使用fitz模块提取pdf中的图片
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)