12 月 15 日,时隔半年之久的 Deep dive 活动再度启动,本期 Deep dive 由 Zilliz 合伙人兼技术总监栾小凡为大家详细解读了 Milvus 2.2 版本的新功能,同时 Zilliz 质量保障团队负责人乔燕良也带来了新版本的测试报告分享。
#01
Milvus 2.2 版本新功能详解

小凡首先提到,Milvus 作为一个迭代速度非常快的社区,基本保持以每 3-4 个月的速度发布大版本,这次的分享主要集中在三块内容:Milvus 2.2 新功能解读;在可运维性、可观测性方面做的建设;社区目前在做的功能介绍。
新功能中,小凡着重提到了以下几点功能:
磁盘索引。Milvus 新版本支持新的磁盘索引 DiskANN,尤其在数据量比较大的情况下,可以帮助大幅降低成本; 实现了 Query Coord v2。此次版本更新有一个比较重要的主题:稳定性。因此我们将 Query Coord v2 重新进行了设计,一方面大大减少了加载过程卡住的情况,且加载速度相比之前也变得更快; Bulk Insert。基于此功能我们做了批量导入的能力,目前来看 Milvus 可以在 43 分钟之内把 1B 的数据集导入进去; 权限认证功能 RBAC(Rowbase Access Control),最新版本里加入了基于角色的权限认证,可以生成不同的权限,每个 API 都由一个全线控制,管理起来也更为方便; 安全相关,支持 Pulsar 权限认证及 ETCD 的 TLS。 ......
在运维集群层面,小凡提到了数据的可观测性,包含监控和日志两部分;另外还改变了默认的日志等级,从之前的 debug 改造到 INFO;以及一个重要工具 —— BirdWatcher。BirdWatcher 可以帮助用户观察 Milvus 内部的集群的状态,后续也计划在 BirdWatcher 中加入更多的功能,比如动态更新 Milvus 内部的一些配置等。
最后小凡也提到了 Milvus 接下来版本中的一些计划功能:
Resource Group,即物理资源的隔离; Data backup 工具,将正式进入 GA 阶段,用户可定时做数据的备份; Rolling upgrade,计划将 segment 做迁移,如此在升级的过程中用户的感知就会变得比较微弱; Coordinator 主备,目前功能已经 ready,欢迎大家试用; ARM 支持,后续版本将逐渐支持和完善; 优化 sizing tool; 2.3.0 版本计划新特性等。

#02
Milvus 2. 2 测试报告分享

Zilliz 质量保障团队负责人乔燕良从四方面为大家带来了分享,分别是 benchmarking 性能展示、Milvus 的稳定性测试、2.2 版本的重构,包括行为和 API 语义的变化以及新功能 Bulk Insert 带来了什么样的收益?
首先对于大家感兴趣的 2.2 版本性能到底如何?燕良展示了三组测试。

第一组测试为 2.2 和 2.1 版本性能的比较,可以发现平均的 QPS 测试性能提升了至少 50%,单机在 QPS 的性能提升更加明显,已经超过了接近 70%;第二组实验是关于 2.2 分布式纵向扩展的性能,结果显示在 CPU 翻一番的情况下,QPS 也增加了一倍,且响应时间变短;第三个实验是关于横向扩展。一个集群能否做横向扩展,对于 Milvus 能否上生产,做一些可扩展性是非常重要的,结果显示也是接近翻了一番。这和 Milvus 2. 1 相比是非常明显的提升。
此链接包含了三组实验的详细信息及环境配置,感兴趣的同学可进行实验:https://milvus.io/blog/2022-08-16-A-Quick-Guide-to-Benchmarking-Milvus-2-1.md
稳定性是社区里问的最多的一个问题,燕良和大家分享了社区是如何做稳定性的。他提到,社区会定期提取和挖掘社区 Issue 中提到的场景,提炼为自己的测试场景,使更加贴近实际的生产环境,进而做持续的并发。在这个过程中,我们会去观察整个系统的稳定性,包括磁盘内存 CPU 的使用情况。非常重要的一点是,我们也会做故障注入的测试,使能够保证 Milvus 稳定持续运行。同时燕良也列了一些避坑指南,回答了大家遇到的比较多的问题,感兴趣的同学可以收看视频。
关于新功能 Bulk Insert,燕良也提到设计 Bulk Insert 最初的目的是为了解决大批量数据插入慢,对系统消耗大的问题,所以它最大的一个功能是节省用户的时间。另外他也通过测试展示,在实时更新数据的过程中,对在线的业务 Search 是基本上没有影响的,这是一个非常重要的功能,欢迎大家去尝试!
最后,新版本发布以来,我们也收到了很多来自社区的反馈和声音,针对用户提问频率比较高和比较关心的问题,小凡也进行了详细的解答,具体请详见视频。
关于 Milvus 2.2 版本具体更新内容请见文章:
如何安全且优雅地将 Milvus 2.1.x 升级到 2.2.x 版本请见文章:
也欢迎大家持续关注 Milvus,有问题可随时在 GitHub 上提 Issue,社区的小伙伴会随时为大家解答!
Zilliz 是向量数据库系统领域的开拓者和全球领先者,研发面向 AI 生产系统的向量数据库系统。Zilliz 以发掘非结构化数据价值为使命,致力于打造面向 AI 应用的新一代数据库技术,帮助企业便捷地开发 AI 应用。Zilliz 的产品能显著降低管理 AI 数据基础设施的成本,帮助 AI 技术赋能更多的企业、组织和个人。







