# 版本说明 了解 Milvus 的新功能!本页总结了每个版本的新功能、改进、已知问题和错误修复。您可以在本部分找到 v2.6.0 之后每个版本的发布说明。我们建议您定期访问此页面以了解更新信息。 ## v2.6.0 发布日期:2025 年 8 月 6 日 | Milvus 版本 | Python SDK 版本 | Node.js SDK 版本 | Java SDK 版本 | Go SDK 版本 | | :---------- | :-------------- | :--------------- | :------------ | :---------- | | 2.6.0 | 2.6.0 | 2.6.0 | 2.6.1 | 2.6.0 | Milvus 2.6.0 正式发布!在[2.6.0-rc1](https://milvus.io/docs/zh/release_notes.md#v260-rc1) 所奠定的架构基础上,这个生产就绪的版本解决了大量稳定性和性能问题,同时引入了强大的新功能,包括存储格式 V2、高级 JSON 处理和增强的搜索功能。根据 RC 阶段的社区反馈,Milvus 2.6.0 进行了大量的错误修复和优化,可供您探索和采用。 由于架构变化,不支持从 2.6.0 之前的版本直接升级。请遵循我们的[升级指南](https://milvus.io/docs/zh/upgrade_milvus_cluster-operator.md)。 ### 2.6.0 中的新功能(自 RC 版起) #### 优化存储格式 v2 为应对标量和向量数据混合存储的挑战,特别是非结构化数据的点查找,Milvus 2.6 引入了存储格式 V2。这种新的自适应列式存储格式采用了 "窄列合并+宽列独立 "的布局策略,从根本上解决了向量数据库中处理点查找和小批量检索时的性能瓶颈。 新格式现在支持无 I/O 放大的高效随机存取,与之前采用的 vanilla Parquet 格式相比,性能最多可提升 100 倍,非常适合同时需要分析处理和精确向量检索的人工智能工作负载。此外,它还能将典型工作负载的文件数量减少高达 98%。主要压缩的内存消耗减少了 300%,I/O 操作的读取优化高达 80%,写入优化超过 600%。 #### JSON 扁平索引(测试版) Milvus 2.6 引入了 JSON 扁平索引,以处理高度动态的 JSON Schema。JSON 路径索引需要预先声明特定路径及其预期类型,而 JSON 扁平索引则不同,它会自动发现并索引给定路径下的所有嵌套结构。在为一个 JSON 字段建立索引时,它会递归地对整个子树进行扁平化处理,为遇到的每一个路径-值对创建反转索引条目,而不管其深度或类型如何。 这种自动扁平化处理使 JSON Flat Index 非常适合不断演化的 Schema,因为在这种情况下,新字段的出现会毫无征兆。例如,如果你为 "元数据 "字段建立索引,系统会自动处理传入数据中出现的 "metadata.version2.features.experimental "等新嵌套字段,而不需要新的索引配置。 ### 核心 2.6.0 功能回顾 有关 2.6.0-RC 中引入的架构更改和功能的详细信息,请参阅[2.6.0-rc1 发行说明](https://milvus.io/docs/zh/release_notes.md#v260-rc1)。 #### 架构简化 - 流节点 (GA) - 集中 WAL 管理 - 使用 Woodpecker 的本地 WAL - 消除了对 Kafka/Pulsar 的依赖 - 统一协调器 (MixCoord);合并 IndexNode 和 DataNode - 降低组件复杂性 #### 搜索和分析 - RaBitQ 1 位量化,高召回率 - 短语匹配 - 用于重复数据删除的 MinHash LSH - 时间感知排序功能 #### 开发人员体验 - 用于 "数据输入、数据输出 "工作流程的嵌入式功能 - 在线 Schema 演进 - 支持 INT8 向量 - 支持全球语言的增强型标记器 - 具有懒加载功能的缓存层--处理大于内存的数据集 ## 版本 2.6.0-rc1 发布日期:2025 年 6 月 18 日 | Milvus 版本 | Python SDK 版本 | Node.js SDK 版本 | Java SDK 版本 | Go SDK 版本 | | :---------: | :-------------: | :--------------: | :-----------: | :---------: | | 2.6.0-rc1 | 2.6.0b0 | 2.6.0-rc1 | 2.6.0 | 2.6.0-rc.1 | Milvus 2.6.0-rc1 引入了简化的云原生架构,旨在通过降低部署复杂性来提高操作效率、资源利用率和总体拥有成本。该版本增加了以性能、搜索和开发为重点的新功能。主要功能包括:可提高性能的高精度 1 位量化 (RaBitQ) 和动态缓存层;可进行高级搜索的 MinHash 近乎重复的检测和精确的短语匹配;以及可在线修改 Schema 以增强开发人员体验的自动嵌入功能。 这是 Milvus 2.6.0 的预发布版本。要试用最新功能,请将此版本作为全新部署安装。不支持从 Milvus v2.5.x 或更早版本升级到 2.6.0-rc1。 ### 架构变更 自 2.6 版起,Milvus 引入了旨在提高性能、可扩展性和易用性的重大架构变更。有关详细信息,请参阅[Milvus 架构概述](https://milvus.io/docs/zh/architecture_overview.md)。 #### 流节点(GA) 在以前的版本中,流数据由代理写入 WAL,由查询节点(QueryNode)和数据节点(DataNode)读取。这种架构很难在写入端达成共识,读取端需要复杂的逻辑。此外,查询委托器位于 QueryNode 中,妨碍了可扩展性。Milvus 2.5.0 引入了流节点,在 2.6.0 版本中成为 GA。该组件现在负责所有碎片级 WAL 读/写操作,同时还充当查询委托器,从而解决了上述问题,并实现了新的优化。 **重要升级通知**:流节点是一项重大的架构变革,因此不支持从以前的版本直接升级到 Milvus 2.6.0-rc1。 #### 啄木鸟原生 WAL Milvus 此前的 WAL 依赖于 Kafka 或 Pulsar 等外部系统。这些系统虽然功能强大,但却大大增加了操作的复杂性和资源开销,尤其是对于中小型部署而言。在 Milvus 2.6 中,这些系统被专门构建的云原生 WAL 系统 Woodpecker 取代。Woodpecker 专为对象存储而设计,支持基于本地和对象存储的零磁盘模式,在简化操作的同时提高了性能和可扩展性。 #### 数据节点和索引节点合并 在 Milvus 2.6 中,压缩、批量导入、统计数据收集和索引构建等任务现在由统一的调度程序管理。以前由数据节点(DataNode)处理的数据持久化功能已移至流节点(Streaming Node)。为简化部署和维护,IndexNode 和 DataNode 已合并为一个 DataNode 组件。这个合并节点现在执行所有这些关键任务,降低了操作复杂性,优化了资源利用率。 #### 协调器合并为 MixCoord 以前的设计中,RootCoord、QueryCoord 和 DataCoord 模块各自独立,模块间的通信非常复杂。为了简化系统设计,这些组件被合并为一个统一的协调器,称为 MixCoord。这种合并用内部函数调用取代了基于网络的通信,从而降低了分布式编程的复杂性,提高了系统操作的效率,简化了开发和维护工作。 ### 主要功能 #### RaBitQ 1 位量化 要处理大规模数据集,1 位量化是提高资源利用率和搜索性能的有效技术。然而,传统方法会对召回率产生负面影响。Milvus 2.6 与原研究作者合作,推出了 1 位量化解决方案 RaBitQ,在保持高召回准确率的同时,提供 1 位压缩的资源和性能优势。 更多信息,请参阅[IVF_RABITQ](https://milvus.io/docs/zh/ivf-rabitq.md)。 #### JSON 功能增强 Milvus 2.6 通过以下改进增强了对 JSON 数据类型的支持: - **性能**:现在正式支持 JSON 路径索引,允许在 JSON 对象(如`meta.user.location` )内的特定路径上创建反向索引。这避免了对整个对象的扫描,并改善了使用复杂过滤器进行查询的延迟。 - **功能性**:为支持更复杂的过滤逻辑,本版本新增了对`JSON_CONTAINS`,`JSON_EXISTS`,`IS NULL` 和`CAST` 函数的支持。 展望未来,我们在 JSON 支持方面的工作仍在继续。我们很高兴地预告,即将发布的正式版本将提供更强大的功能,如**JSON 切碎**和**JSON FLAT 索引**,旨在显著提高高度嵌套的 JSON 数据的性能。 #### 分析器/令牌器功能增强 通过对分析器和令牌器的多项更新,该版本大大增强了文本处理功能: - 新的[运行分析器](https://milvus.io/docs/zh/analyzer-overview.md#Example-use)语法可用于验证令牌器配置。 - 集成了[Lindera 标记符号生成器](https://milvus.io/docs/zh/lindera-tokenizer.md),以改进对日语和韩语等亚洲语言的支持。 - 现在支持行级标记符选择,通用[ICU 标记符可](https://milvus.io/docs/zh/icu-tokenizer.md)作为多语言场景的备用[标记符](https://milvus.io/docs/zh/icu-tokenizer.md)。 #### 数据输入、数据输出与 Embeddings 功能 Milvus 2.6 引入了 "数据输入、数据输出 "功能,通过直接与第三方嵌入模型(如 OpenAI、AWS Bedrock、Google Vertex AI 和 Hugging Face)集成,简化了人工智能应用程序开发。用户现在可以使用原始文本数据进行插入和查询,Milvus 会自动调用指定的模型服务,实时将文本转换为向量。这样就不再需要单独的向量转换管道了。 更多信息,请参阅[Embedding 功能概述](https://milvus.io/docs/zh/embedding-function-overview.md)。 #### 短语匹配 短语匹配是一种文本搜索功能,只有当查询中的精确单词序列以正确的顺序连续出现在文档中时,才会返回结果。 **主要特点**: - 顺序敏感:单词必须以与查询中相同的顺序出现。 - 连续匹配:除非使用了斜率值,否则单词必须紧挨着出现。 - 斜率(可选):这是一个可调整的参数,允许少量间隔词,从而实现模糊短语匹配。 更多信息,请参阅[短语匹配](https://milvus.io/docs/zh/phrase-match.md)。 #### 最小哈希 LSH 索引(测试版) 为满足模型训练中重复数据删除的需求,Milvus 2.6 增加了对 MINHASH_LSH 索引的支持。该功能提供了一种计算效率高、可扩展的方法,用于估算文档之间的 Jaccard 相似性,以识别近似重复的文档。用户可以在预处理过程中为文本文档生成 MinHash 签名,并在 Milvus 中使用 MINHASH_LSH 索引高效地查找大规模数据集中的相似内容,从而提高数据清理和模型质量。 #### 时间感知衰减函数 Milvus 2.6 引入了时间感知衰减函数,以解决信息价值随时间变化的情况。在结果重新排序过程中,用户可以根据时间戳字段应用指数、高斯或线性衰减函数来调整文档的相关性得分。这可以确保优先处理较新的内容,这对于新闻提要、电子商务和人工智能 Agents 内存等应用至关重要。 如需了解更多信息,请参阅 "[衰减排名器概述](https://milvus.io/docs/zh/decay-ranker-overview.md)"。 #### 为在线 Schema 演进添加字段 为了提供更大的模式灵活性,Milvus 2.6 现在支持向现有 Collections 的模式在线添加新的标量或向量字段。这就避免了在应用需求发生变化时创建新的 Collections 和执行破坏性数据迁移的需要。 有关详细信息,请参阅[向现有 Collections 添加字段](https://milvus.io/docs/zh/add-fields-to-an-existing-collection.md)。 #### INT8 向量支持 为了应对产生 8 位整数嵌入的量化模型的使用日益增多,Milvus 2.6 增加了对 INT8 向量的本地数据类型支持。这样,用户就可以直接摄取这些向量,而无需去量化,从而节省了计算、网络带宽和存储成本。该功能最初支持 HNSW 系列索引。 有关详细信息,请参阅[密集向量](https://milvus.io/docs/zh/dense-vector.md)。