门槛一降再降,易用性大幅提升!Milvus 2.2.12 持续升级中

简介: 近期,Milvus 上线了 2.2.12 版本,此次更新不仅一次性增加了支持 Restful API、召回原始向量、json_contains 函数这三大特性,还优化了 standalone 模式下的 CPU 使用、查询链路等性能,用一句话总结就是:低门槛、高可用、强性能。

Milvus 又迎版本升级,三大新特性全力加持,易用性再上新台阶!

近期,Milvus 上线了 2.2.12 版本,此次更新不仅一次性增加了支持 Restful API、召回原始向量、json_contains 函数这三大特性,还优化了 standalone 模式下的 CPU 使用、查询链路等性能,用一句话总结就是:低门槛、高可用、强性能。

01. New Features

  • Restful API

为了进一步降低使用 Milvus 的门槛、提升用户体验,在 2.2.12 版本中 Milvus 支持了 Restful API,用户无需安装客户端,通过 Restful API 即可完成对接。用户在部署 Milvus 时无需占用额外端口,SDK 和 Restful 同时使用 19530 端口。

相比于使用 SDK,Restful 在易用性上更有优势,但高级的运维接口仍需使用 SDK。同时,如果你是延迟敏感型业务,我们也建议使用 SDK。

具体的 Restful API 详见:https://milvus.io/api-reference/restful/v2.2.x/About.md

  • 召回原始向量

在 Milvus 2.2.12 版本以前,出于对性能及优化内存的角度考虑,用户进行 search 时不支持返回原始向量。很多召回原始向量的场景不得不将查询拆成两步来执行:用户需要先进行 ANN search 向量id,再根据 id query 原始向量。这不仅增加了用户的学习和开发成本,对 Milvus 来讲也无法达到节约资源的效果。

有了 Milvus 2.2.12,用户可以直接在 ANN search 时返回原始向量,无需额外的操作步骤,省时又省力。

  • 支持 json_contains

如大家所知,在 Milvus 2.2.8 支持 JSON 类型之后,我们立刻收到了大量的用户反馈,其中呼声最高的就是支持 JSON 数组的各种运算,包括包含、不包含、交集、并集、差集等等。不同的算子实现难度各有不同,在 2.2.12 版本中,我们优先支持了 json_contains 函数来支持包含算子,其他的算子会在后续版本中陆续支持。

02. Enhancements

除了新增的三大特性,我们还对部分性能进行了优化:

  • #25238

优化 standalone 模式下的 CPU 使用。在 standalone 模式下,不少用户反馈系统空载情况下也会有很高的 CPU 占用,经过长期的排查,我们发现了几个问题:

rocksdb 的参数使用不当会触发很多无意义的 compaction 以及磁盘 IO;

迭代器使用不当频繁访问同一前缀的数据。

为此,我们重新梳理了 rocksdb 的参数使用,同时开启了 level 2 以上的 zstd 压缩减少磁盘使用量。

  • #25402

支持 varchar 类型的主键使用主键索引。由于之前的系统限制,主键是 varchar 类型时无法命中索引,导致性能不佳,经过修复后此场景能够提升 10 倍以上效率。

  • #25192

优化查询链路,跳过无必要的 reduce 步骤。通过 tracing 等手段排查,发现在 reduce 阶段有可能会耗费大量时间甚至超过向量搜索时间,尤其是在大 NQ 的场景中。此次优化效果显著,在部分场景中能有 4 倍以上的性能提升。

  • #25772

解决单机多 CPU 场景下 CPU 利用率低的问题。我们新增了 queryNode.minCPUParallelTaskNumRatio=4 参数,通过调整此参数,可以调整单机的并行度。

值得注意的是:需要结合具体的业务场景经过测试、微调才能得到一个比较好的并发参数,如果不确认最好保持默认值。通过参数控制是 2.2 系列的临时方案,在 2.3 系列中会增加更智能的并发控制逻辑。

03. Bugfix

#25470 #25510 修复 Milvus 占用过多 MinIO 的问题。产生很多 MinIO 文件是因为 Milvus 的 compaction 机制过于频繁以及垃圾清理机制比较保守,这会在 MinIO 中累积大量的过期文件,在新版本中我们调整了这些策略,节约用户的存储资源。

#25757 #24858 #25369 #25513 修复删除数据后还能被查询到的问题。产生此问题的原因较为复杂,有兴趣的同学可以参考 PR 的内容。

#25181 #25194 #25107 #25305 修复了很多对象存储相关的问题。在 2.2.8 之后,我们引入了 aws-sdk-cpp 读取对象存储,遇到了不少问题。此次更新修复了很多由此带来的 bug,包括增加了错误码、修复线程创建失败问题、在 MacOS 环境无法读取文件的问题。

#25809 #25758 修复 bulk-insert 的问题。越来越多的用户在生产环境中部署 Milvus,在冷启动阶段批量导入功能至关重要,此次更新修了大量 bulk-insert 的 bug,提升了批量导入的稳定性。

想要了解更多关于 Milvus 2.2.12 的内容,可或访问 https://milvus.io/docs/release_notes.md

如果在使用 Milvus 或 Zilliz 产品有任何问题,可添加小助手微信 “zilliz-tech” 加入交流群。

目录
相关文章
|
4月前
|
人工智能 自然语言处理 监控
系统提示词工程师学习路径报告
本报告聚焦系统提示词工程师职业,介绍其职责与学习路径。该职业负责为AI系统设计、优化指令,涉及需求拆解、模型优化、跨领域适配及伦理把控。 学习路径分四阶段:1 - 3个月构建基础,了解AI模型、语言学及工具使用;3 - 6个月深化核心技能,掌握提示设计、评估体系与领域知识;6 - 12个月开展工程实践,进行系统集成与可解释性研究;1 - 2年探索进阶方向,如多模态提示、自优化系统。 此外,报告推荐专业工具、测试集等学习资源,建议定期实操、研阅论文、参与社区,建立“提示模式库”,紧跟行业趋势,以培养专业系统提示词工程师。
211 5
|
3月前
|
存储 人工智能 搜索推荐
Tablestore OpenMemory MCP : 跨会话、跨模型的智能记忆解决方案
本文介绍了Mem0的原理与应用场景,并基于Mem0构建了Tablestore OpenMemory MCP服务,实现个性化旅行规划助理。Mem0是一种为大型语言模型设计的智能记忆层,通过向量数据库持续学习用户交互信息,实现跨会话的个性化记忆管理。该服务提供多种MCP工具,便于集成到各类AI应用中。最后演示了个性化旅行规划应用,并介绍了服务的运行与配置方式。
419 0
|
人工智能
AI大模型初体验
为了实现真正的A,需不断学习以提升能力。
289 3
AI大模型初体验
|
8月前
|
Shell 开发工具 数据安全/隐私保护
milvus单节点安装教程
本文介绍了Milvus的安装与鉴权配置步骤。首先通过下载并执行.sh文件完成安装,命令为`wget`下载脚本和`bash standalone_embed.sh start`启动服务。若需开启鉴权,建议修改外部配置文件`user.yaml`中的`authorizationEnabled`选项为`true`,重启容器后,默认用户名密码为root/Milvus。此外,提供了Python验证连接的方法及修改密码的示例。参考资料包括官方文档和视频教程。
|
算法 物联网 数据库
阿里云 OpenSearch RAG 应用实践
本文介绍了阿里云OpenSearch在过去一年中在RAG方面的应用和探索。
28502 3
阿里云 OpenSearch RAG 应用实践
|
11月前
|
Kubernetes 关系型数据库 MySQL
Kubernetes入门:搭建高可用微服务架构
【10月更文挑战第25天】在快速发展的云计算时代,微服务架构因其灵活性和可扩展性备受青睐。本文通过一个案例分析,展示了如何使用Kubernetes将传统Java Web应用迁移到Kubernetes平台并改造成微服务架构。通过定义Kubernetes服务、创建MySQL的Deployment/RC、改造Web应用以及部署Web应用,最终实现了高可用的微服务架构。Kubernetes不仅提供了服务发现和负载均衡的能力,还通过各种资源管理工具,提升了系统的可扩展性和容错性。
380 3
|
12月前
|
缓存 应用服务中间件 nginx
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
你知道 HTTP 的状态码都有哪些吗?它们的含义又是什么呢?
330 9
|
存储 消息中间件 数据库
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
Milvus性能优化提速之道:揭秘优化技巧,避开十大误区,确保数据一致性无忧,轻松实现高性能
|
Kubernetes Cloud Native 安全
探索云原生技术的优势和挑战
探索云原生技术的优势和挑战
733 0
探索云原生技术的优势和挑战
|
Ubuntu 开发工具 git
在Ubuntu 18.04上安装Git【快速入门】
在Ubuntu 18.04上安装Git【快速入门】
212 0