数据库&大数据半年度迭代盘点:AI、多模、存算分离多点突破(中
liuian 2025-08-06 21:03 5 浏览
大数据生态圈
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、多模、存算分离多点突破(下)》
相关推荐
- 总结下SpringData JPA 的常用语法
-
SpringDataJPA常用有两种写法,一个是用Jpa自带方法进行CRUD,适合简单查询场景、例如查询全部数据、根据某个字段查询,根据某字段排序等等。另一种是使用注解方式,@Query、@Modi...
- 解决JPA在多线程中事务无法生效的问题
-
在使用SpringBoot2.x和JPA的过程中,如果在多线程环境下发现查询方法(如@Query或findAll)以及事务(如@Transactional)无法生效,通常是由于S...
- PostgreSQL系列(一):数据类型和基本类型转换
-
自从厂子里出来后,数据库的主力就从Oracle变成MySQL了。有一说一哈,贵确实是有贵的道理,不是开源能比的。后面的工作里面基本上就是主MySQL,辅MongoDB、ES等NoSQL。最近想写一点跟...
- 基于MCP实现text2sql
-
目的:基于MCP实现text2sql能力参考:https://blog.csdn.net/hacker_Lees/article/details/146426392服务端#选用开源的MySQLMCP...
- ORACLE 错误代码及解决办法
-
ORA-00001:违反唯一约束条件(.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。ORA-00017:请求会话以设置跟踪事件ORA-00018:超出最大会话数ORA-00...
- 从 SQLite 到 DuckDB:查询快 5 倍,存储减少 80%
-
作者丨Trace译者丨明知山策划丨李冬梅Trace从一开始就使用SQLite将所有数据存储在用户设备上。这是一个非常不错的选择——SQLite高度可靠,并且多种编程语言都提供了广泛支持...
- 010:通过 MCP PostgreSQL 安全访问数据
-
项目简介提供对PostgreSQL数据库的只读访问功能。该服务器允许大型语言模型(LLMs)检查数据库的模式结构,并执行只读查询操作。核心功能提供对PostgreSQL数据库的只读访问允许L...
- 发现了一个好用且免费的SQL数据库工具(DBeaver)
-
缘起最近Ai不是大火么,想着自己也弄一些开源的框架来捣腾一下。手上用着Mac,但Mac都没有显卡的,对于学习Ai训练模型不方便,所以最近新购入了一台4090的拯救者,打算用来好好学习一下Ai(呸,以上...
- 微软发布.NET 10首个预览版:JIT编译器再进化、跨平台开发更流畅
-
IT之家2月26日消息,微软.NET团队昨日(2月25日)发布博文,宣布推出.NET10首个预览版更新,重点改进.NETRuntime、SDK、libraries、C#、AS...
- 数据库管理工具Navicat Premium最新版发布啦
-
管理多个数据库要么需要使用多个客户端应用程序,要么找到一个可以容纳你使用的所有数据库的应用程序。其中一个工具是NavicatPremium。它不仅支持大多数主要的数据库管理系统(DBMS),而且它...
- 50+AI新品齐发,微软Build放大招:拥抱Agent胜算几何?
-
北京时间5月20日凌晨,如果你打开微软Build2025开发者大会的直播,最先吸引你的可能不是一场原本属于AI和开发者的技术盛会,而是开场不久后的尴尬一幕:一边是几位微软员工在台下大...
- 揭秘:一条SQL语句的执行过程是怎么样的?
-
数据库系统能够接受SQL语句,并返回数据查询的结果,或者对数据库中的数据进行修改,可以说几乎每个程序员都使用过它。而MySQL又是目前使用最广泛的数据库。所以,解析一下MySQL编译并执行...
- 各家sql工具,都闹过哪些乐子?
-
相信这些sql工具,大家都不陌生吧,它们在业内绝对算得上第一梯队的产品了,但是你知道,他们都闹过什么乐子吗?首先登场的是Navicat,这款强大的数据库管理工具,曾经让一位程序员朋友“火”了一把。Na...
- 详解PG数据库管理工具--pgadmin工具、安装部署及相关功能
-
概述今天主要介绍一下PG数据库管理工具--pgadmin,一起来看看吧~一、介绍pgAdmin4是一款为PostgreSQL设计的可靠和全面的数据库设计和管理软件,它允许连接到特定的数据库,创建表和...
- Enpass for Mac(跨平台密码管理软件)
-
还在寻找密码管理软件吗?密码管理软件有很多,但是综合素质相当优秀且完全免费的密码管理软件却并不常见,EnpassMac版是一款免费跨平台密码管理软件,可以通过这款软件高效安全的保护密码文件,而且可以...
- 一周热门
-
-
Python实现人事自动打卡,再也不会被批评
-
【验证码逆向专栏】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判断字典是否为空 (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)