门槛一降再降,易用性大幅提升!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” 加入交流群。

目录
相关文章
|
24天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
64 1
|
6月前
|
UED
产品服务易用性
产品服务易用性
73 1
|
6月前
|
Kubernetes Serverless 开发者
阿里云 SAE 2.0 正式商用,极简易用、百毫秒弹性效率,降本 40%
本文主要介绍阿里云 Serverless 应用引擎如何帮助企业跨越技术鸿沟,从传统应用架构无感升级到 Serverless 架构,以更高效、更经济的方式进行转型,快速进入云原生快车道,让 2 人的研发团队享受 2000 人技术团队的红利。
|
弹性计算 负载均衡 Serverless
直播平台源码弹性云托管技术:稳定直播与降低成本的利器
弹性云托管技术的出现与运用,为直播平台源码带来了重要的意义,在处理平台负载与成本优化等方面起到了重要的作用,为用户带去了优质的使用体验,将平台往更优质的方向推进。
直播平台源码弹性云托管技术:稳定直播与降低成本的利器
|
存储 运维 容灾
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
带你读《多媒体行业质量成本优化及容灾方案白皮书》1. 成本优化概述
400 0
|
运维 容灾 CDN
多媒体行业质量成本优化及容灾方案白皮书
多媒体行业质量成本优化及容灾方案白皮书
98 1
|
机器学习/深度学习 存储 人工智能
以大模型加速新药研发,成本降低70%:一家大厂的「云端」实战
以大模型加速新药研发,成本降低70%:一家大厂的「云端」实战
219 0
以大模型加速新药研发,成本降低70%:一家大厂的「云端」实战
|
SQL 运维 Oracle
云上“升舱”,升级到速度更快,功能更全面,性价比更高的数仓平台
阿里云AnalyticDB“升舱”活动致力于帮助您将线下或自建的数仓全面迁移至云原生架构之上,享受全托管的使用体验;为企业构建数据平台带来速度更快,功能更全面,性价比更高的数据平台
云上“升舱”,升级到速度更快,功能更全面,性价比更高的数仓平台
|
存储 人工智能 搜索推荐
硬件预算最高直降46倍!低成本上手AIGC和千亿大模型,一行代码自动并行,Colossal-AI再升级
硬件预算最高直降46倍!低成本上手AIGC和千亿大模型,一行代码自动并行,Colossal-AI再升级
333 0
|
弹性计算 Kubernetes Serverless
使用 ASK 的成本优势有哪些 | 学习笔记
快速学习使用 ASK 的成本优势有哪些
使用 ASK 的成本优势有哪些 | 学习笔记
下一篇
无影云桌面